2018-04-03 线程基础

线程调度

是指系统分配CPU使用权限的方式,分为协同式线程调度和抢占式线程调度

进程、线程概念

进程是应用程序的一次执行。线程是进程中一段代码的执行。
多进程作用是提升CPU的使用率。多线程作用是提升程序的使用率。
线程之间共享堆内存和方法区内存,栈内存是独立的。

线程的创建

继承Thread类重写run方法,或实现runable接口,实现run方法。

线程的生命周期

新建 就绪 阻塞 运行 消亡

线程调度

  • 线程优先级
    setPriority(1-10)设置优先级
    优先级越高,抢占的cpu时间片会多一些
  • sleep方法 interrupt方法
    Thread.sleep(int time),使当前的线程进入阻塞。
    t.interrupt();调用者中断休眠,进入就绪状态并且抛出异常。
  • yiled方法
    调用者让出cpu时间片给同优先级的线程,让出时间不可控
  • join方法
    调用者的线程合并到当前的线程中

线程同步

  • 保证线程安全。在多线程环境下,线程间共享同一块数据,并且有修改数据的操作时,要进行线程同步。
  • 线程锁,synchronized 对方法块方法,加锁:对象锁;修饰静态方法是类锁。

守护线程

  • 所有用户线程消亡时就会消亡。setDaemon(true);

Timer 定时器

  • Timer schedule() TimerTask
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容