一、线程的生命周期及状态转换
当Thread对象创建完成时,线程的生命周期便开始
当run()方法中代码正常执行完毕或者线程抛出一个未捕获的异常或错误时,线程的生命周期结束。
线程生命周期可以分为五个阶段,分别是新建状态(New)、就绪状态(Runnable)、运行状态(Running)、阻塞状态(Blocked)和死亡状态(Terminated)。
注意:单箭头表示状态只能单向转换,双箭头表示状态可以双向转换。
五种状态详细讲解,具体如下:
1、新建状态(New)
创建一个线程对象后,该线程对象就处于新建状态,此时它不能运行,和其他Java对象一样,仅仅由Java虚拟机为其分配了内存,没有表现出任何线程的动态特征。
2、