Java 线程的生命周期包含以下几个阶段:

  1. 新建状态 (New): 线程被创建但还没有开始执行。

  2. 就绪状态 (Runnable): 线程被创建并且已经准备好执行,但还没有得到 CPU 的时间片。

  3. 运行状态 (Running): 线程获得了 CPU 的时间片,开始执行。

  4. 阻塞状态 (Blocked): 线程因为某些原因被阻塞,无法执行,例如等待 I/O 操作完成、等待锁资源等。

  5. 等待状态 (Waiting): 线程等待其他线程的通知或信号,进入该状态后不会自动唤醒,需要其他线程发起通知。

  6. 计时等待状态 (Timed Waiting): 线程等待一段时间后自动唤醒,例如等待 sleep(), wait(), join() 等方法的时间到期。

  7. 终止状态 (Terminated): 线程执行完毕或者因为异常终止,进入该状态后不会再返回到其他状态。

以上是 Java 线程的生命周期,具体状态转换如下图所示:

java 线程状态转换图

Java 线程生命周期详解:状态、转换图及示例

原文地址: https://www.cveoy.top/t/topic/oFKY 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录