java中的terminated,Java线程的生命周期和各种状态转换详解

java中的terminated,Java线程的生命周期和各种状态转换详解_第1张图片

在Java中,任何对象都有生命周期,线程也不例外,它也有自己的生命周期。当Thread对象创建完成时,线程的生命周期便开始了,当线程任务中代码正常执行完毕或者线程抛出一个未捕获的异常(Exception)或者错误(Error)时,线程的生命周期便会结束。

Java官方API将线程的整个生命周期分为六个状态,分别是NEW(新建状态)、RUNNABLE(可运行状态)、BLOCKED(阻塞状态)、WAITING(等待状态)、TIMED_WAITING(定时等待状态)和TERMINATED(终止状态)。线程的不同状态表明了线程当前正在进行的活动,在程序中,通过一些操作,可以使线程在不同状态之间转换,如图1所示。

java中的terminated,Java线程的生命周期和各种状态转换详解_第2张图片

图1 线程状态转换图

图1中展示了线程各种状态的转换关系,箭头方向表示可转换的方向。接下来,针对线程生命周期中的六种状态分别进行详细讲解,具体如下:

1.NEW(新建状态)

创建一个线程对象后,该线程对象就处于新建状态,此时它不能运行,和其他Java对象一样,仅仅由JVM为其分配了内存,没有表现出任何

你可能感兴趣的:(java中的terminated,Java线程的生命周期和各种状态转换详解)