线程完成的生命周期包括:新建、就绪、运行、阻塞和死亡5中状态。
1.新建(new):用new命令新建一个线程后,还没有启动其他指定的指令,这时的线程状态就是新建状态。
2.就绪(runnable):就绪状态,也叫做可运行状态,新建的线程被启动后立即进入就绪状态。这时线程等待被分配cpu资源,一旦线程获得cpu资源,即进入了自动运行状态。
3:运行(running):线程获得cpu了资源即进入运行状态,此时除非他自动放弃cpu资源或者其他优先级更高的线程进入,否则线程将一直运行到结束。
4:阻塞(blocked):由于某种原因使得正在运行的线程让出cpu资源暂停自己的执行,即进入阻塞状态。这时只有引起线程阻塞的原因消除后,才能使线程回归到就绪状态。
5:死亡(dead):处于死亡状态的线程不具备继续运行的能力。死亡的原因有两个:一个是正常的线程完成了他的全部任务后退出,另一个是线程被强制终止,如调用stop()或destroy()方法让线程消亡。此时的线程再没有机会回到就绪状态等待执行。