一、线程是什么?
程序执行流的最小单元,也叫轻量级进程
二、线程的5种状态
1、新建(NEW)
新建了一个线程
2、就绪(RUNNABLE)
调用start方法,处于待命阶段,只要得到军令(获得CPU时间片),立即执行命令(执行run方法)
3、运行(RUNNING)
拥有CPU时间片这段时间内,执行具体命令
4、阻塞(BLOCKED)
线程因为某种原因暂时让出了CPU使用权,分成三种情况:
1、锁池-同步阻塞
线程获取同步锁失败,进入锁池。当获得到对象的锁,线程进入就绪状态
2、等待池-等待阻塞
线程调用wait方法,进入等待池。当线程收到notify或notifyAll的消息,线程进入就绪状态
3、其他阻塞
线程调用sleep或join方法或发出了I/O请求时,进入阻塞状态。当sleep完成或join的线程终止或I/O处理完毕时,线程进入就绪状态
5、死亡(DEAD)
线程执行完成或线程中断