12.3 线程的生命周期及状态转换

更新于 2026年10月10日 版权声明
12.3 线程的生命周期及状态转换

在Thread类中有一个静态枚举常量public static enum Thread.State用于表示线程的状态。在Java中,线程的状态包括:

NEW:新建,线程被创建但尚未被启动;

RUNNABLE:运行,此线程正处于被Java虚拟机执行中,这个状态又可以分为就绪(READY)和正在运行(RUNNING)两个状态;

BLOCKED:阻塞,线程因为锁被阻塞;

WAITING:等待,线程处于永久等待状态直到被唤醒或造成等待的原因消失;

TIMED_WAITING:计时等待,线程处于计时等待状态直到等待时间结束;

TERMINATED:消亡,线程已经执行结束或者发生异常。

下面先来了解一些与线程操作相关的常用方法,如表12.2所示。

表12.2 Thread操作的常用方法(https://www.daowen.com)

图示

表12.3中列出了java.lang.Object类中关于线程操作的一些常用方法。

表12.3 Object的常用方法

图示

在程序运行过程中,通过一些操作可以使线程在不同状态之间进行转换,如图12.10所示。

图示

图12.10 线程状态转换图

图12.10中展示了线程的状态和状态之间的转换,下面将对线程的6个状态以及它们之间的转换进行详细讲解。

↑上一章 ↓下一章
关注公众号获取验证码
复制内容需要验证码(7.99元/天)