线程的状态(Java)

2019-09-28  本文已影响0人  雁度寒崖

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完成
一旦终止,不可复生

上一篇下一篇

猜你喜欢

热点阅读