1. 新建状态(New)
- 创建线程对象后,未调用
start()
方法。
2. 就绪状态(Runnable)
- 调用
start()
后,线程等待CPU分配时间执行。
3. 运行状态(Running)
- 线程获得CPU时间,开始执行代码。
4. 阻塞状态(Blocked)
- 线程因各种原因暂停执行:
- 等待阻塞:执行
wait()
等待其他线程通知。 - 同步阻塞:等待获取锁。
- 其他阻塞:如
sleep()
、join()
或I/O操作。
- 等待阻塞:执行
5. 死亡状态(Dead)
- 线程执行完
run()
方法或异常退出,无法再执行。