1.新建(NEW):创建后未启动
2.运行(Runnable):包含Running 和Ready
3.无限等待(Waiting):不会分配CPU执行时间,需要显式唤醒
<1>没有设置Timeout参数的Object.wait()方法
<2>没有设置Timeout参数的Thread.join()方法
<3>LockSupport.park()方法
4.限期等待(Timed Waiting):在一定的时间后会由系统自动唤醒
<1>Thead.sleep()方法
<2>设置了Timeout参数的Object.wait()方法
<3>设置了Timeout参数的Object.wait()方法
<4>LockSupport.parkNanos()方法
<5>LockSupport.parkUntil()方法
5.阻塞(Blocked):等待获取排它锁
这个事件将在另一个线程放弃他的锁的时候发生
唤醒的时候发生
6.结束(Terminated):已终止的线程状态,结束执行
run()完成
主线程main完成
一旦终止,不可复生
网友评论