六个状态
新建(New)
- 创建后尚未启动的线程状态
运行(Runnable)
- 包含Running和Ready
无限期等待(Waiting)
- 不会被分配CPU执行时间,需要显式被唤醒
- 例: 没有设置Timeout参数的 Object.wait()方法。
- 没有设置Timeout参数的Thread.join()方法。
- LockSupport.park()方法
限期等待(Timed Waiting)
- 在一定时间后会由系统自动唤醒
- 例:Thread.sleep()方法
- 设置了 Timeout参数的 Object.wait()方法
- 设置了Timeout参数的 Thread.join()方法
- LockSupport.parkNanos()方法
- LockSupport.parkUntil()方法
阻塞(Blocked)
- 等待获取排它锁
结束(Terminated)
- 已终止线程的状态,线程已结束执行
本文详细介绍了Java线程的六种状态,包括新建、运行、无限期等待、限期等待、阻塞和结束,并通过实例解析了各状态间的转换,帮助理解线程在不同场景下的行为。
722

被折叠的 条评论
为什么被折叠?



