线程在其生命周期内可以具有以下状态之一:
- 新建:在这种状态下,使用
new
操作符创建了一个Thread
类对象,但该线程不是活动的。在调用start()
方法之前,线程不会启动。 - 可运行:在这种状态下,线程在调用
start()
方法后就可以运行了。但是,线程调度程序尚未选择线程。 - 正在运行:在这种状态下,线程调度程序从就绪状态中挑选线程,并且线程正在运行。
- 等待/阻止:在这种状态下,一个线程没有运行但仍然活着,或者它正在等待另一个线程完成。
- 死亡/终止:当
run()
方法退出时,线程处于终止或死状态。