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

你可能感兴趣的:(2018-04-03 线程基础)