线程的5个状态
1.新建状态
当一个Thread类或子类的对象被生命并创建时,新生的线程对象处于新建状态;
2.就绪状态
处于新建状态的线程被start()后,将进入线程队列等待CPU时间片,此时该线程已经具备了运行的条件,一旦获得CPU时间片,即可运行;
3.运行状态
处于就绪状态的线程被调度并获得处理器资源时,便进入运行状态,run()方法定义了线程的操作和功能;
4.阻塞状态
在某种特殊情况下,被认为挂起或等待I/O时,让出CPU并临时中止当前线程的执行,进入阻塞状态;
5.消亡状态
线程完成或者被强制提前中止,则线程消亡。
状态转换条件
![状态转换图](https://i-blog.csdnimg.cn/blog_migrate/ff81dfcec23148e75413ada843d48a5a.png)