java的线程有6种状态
1.新建状态:new出线程,但是没有执行start方法。
2.运行状态:就绪和运行中统称为运行状态。
3.等待状态:即WAITING,运行中的线程调用sleep(),wait(),join(),LockSupport.park,等待状态的线程可以使用notify,notifyall,LockSupport.unpart唤醒。
4.计时等待:即TIME_WAITING,运行中的线程调用sleep(long),wait(long),join(long),LockSupport.parkUntil(xx),计时等待的线程可以使用notify,notifyall,LockSupport.unpart唤醒。
5.阻塞状态:即BLOCKED,相当于锁阻塞的情况下进入synchronized代码块。
6.终止状态:表示线程运行结束。
操作系统的线程生命周期
1.new:new出线程,但是没有执行start方法。
2.ready:表示线程已经创建,正在等待系统调度分配cpu的使用权。
3.running:表示线程获得了cpu使用权,正在调度。
4.waiting:表示线程等待(或者说挂起),让出cpu资源给其他线程使用。
5.terminated:线程执行结束或者是异常退出。