一、线程状态转换图
- 状态图转换如下:
二、状态说明
- New:创建状态,线程创建后未启动时的状态。
- Running:运行状态,线程启动并获得cpu时间片(在运行状态之前还有一个就绪状态,是指其它运行资源都就绪,只要获得cpu时间片后即可运行的状态)。
- Waiting:无限期等待状态,处于此状态的线程不会被分配cpu时间片,需要等待被其它线程唤醒。
- Timed Waiting:限期等待状态,处于此状态的线程不会被分配cpu时间片,但是不需等待被其它线程唤醒,在一定时间后会被系统自动唤醒。
- Blocked:阻塞状态,等待获取一个排他锁,或io就绪事件通知。
- Terminated:结束状态,线程任务完成后终止。