Java Thread:根据 sun 的说法,线程生命周期只有四个阶段



根据太阳微系统,线程只有四个阶段:

  1. New
  2. Runnable
  3. Non-Runnable (Blocked)
  4. Terminated

根据他们的说法,没有运行状态。

为什么会这样?

线程运行时的状态是什么?

> https://docs.oracle.com/javase/9/docs/api/java/lang/Thread.State.html

根据文档(你读过它,不是吗?:)(RUNNABLE 的意思是"在 Java 虚拟机中执行的线程处于这种状态"。

因此,似乎只是枚举中的单词选择使您感到困惑。

最好看文档:

public static final Thread.State RUNNABLE

可运行的线程状态线。处于可运行状态的线程正在 Java 中执行虚拟机,但它可能正在等待来自操作系统,如处理器。

根据Java文档,这些是定义的状态

  1. 新 :当创建线程对象(我们称之为T(时。
  2. 可运行 :当 T 启动并参与消耗 CPU 周期时。它是运行状态。
  3. 已阻止:当 T 在锁的监视器上被阻止时(T 可能会被阻止以进入同步块或方法,因为其他线程正在执行该块或方法(
  4. 等待
  5. :线程正在等待(线程调度程序不会选择以消耗 CPU 周期(。在收到通知或中断之前,它将保持此状态。
  6. TIMED_WAITING :类似于等待状态,但有定义的时间段。一旦时间段结束,它就会摆脱这种状态
  7. 已终止:线程执行结束(运行方法结束(。

https://docs.oracle.com/javase/7/docs/api/java/lang/Thread.State.html

最新更新