模块  java.base
软件包  java.lang

Enum Thread.State

  • 实现的所有接口
    SerializableComparable<Thread.State>
    Enclosing class:
    Thread

    public static enum Thread.Stateextends Enum<Thread.State>
    线程状态。 线程可以处于以下状态之一:
    • NEW
      尚未启动的线程处于此状态。
    • RUNNABLE
      在Java虚拟机中执行的线程处于此状态。
    • BLOCKED
      被阻塞等待监视器锁定的线程处于此状态。
    • WAITING
      无限期等待另一个线程执行特定操作的线程处于此状态。
    • TIMED_WAITING
      正在等待另一个线程执行最多指定等待时间的操作的线程处于此状态。
    • TERMINATED
      已退出的线程处于此状态。

    线程在给定时间点只能处于一种状态。 这些状态是虚拟机状态,不反映任何操作系统线程状态。

    从以下版本开始:
    1.5
    另请参见:
    Thread.getState()
    • Enum Constant Detail

      • NEW

        public static final Thread.State NEW
        尚未启动的线程的线程状态。
      • RUNNABLE

        public static final Thread.State RUNNABLE
        可运行线程的线程状态。 处于可运行状态的线程正在Java虚拟机中执行,但它可能正在等待来自操作系统的其他资源,例如处理器。
      • BLOCKED

        public static final Thread.State BLOCKED
        线程的线程状态被阻塞等待监视器锁定。 处于阻塞状态的线程正在等待监视器锁定以在调用Object.wait之后输入同步块/方法或重新输入同步块/方法。
      • WAITING

        public static final Thread.State WAITING
        等待线程的线程状态。 由于调用以下方法之一,线程处于等待状态:

        处于等待状态的线程正在等待另一个线程执行特定操作。 例如,一个已调用线程Object.wait()的对象上正在等待另一个线程来调用Object.notify()Object.notifyAll()该对象上。 调用Thread.join()线程正在等待指定的线程终止。

      • TERMINATED

        public static final Thread.State TERMINATED
        终止线程的线程状态。 线程已完成执行。
    • 方法详细信息

      • values

        public static Thread.State[] values()
        按照声明的顺序返回一个包含此枚举类型常量的数组。 此方法可用于迭代常量,如下所示:
          for (Thread.State c : Thread.State.values())    System.out.println(c); 
        结果
        包含此枚举类型常量的数组,按声明的顺序排列
      • valueOf

        public static Thread.State valueOf​(String name)
        返回具有指定名称的此类型的枚举常量。 该字符串必须与用于声明此类型中的枚举常量的标识符完全匹配。 (不允许使用无关的空白字符。)
        参数
        name - 要返回的枚举常量的名称。
        结果
        具有指定名称的枚举常量
        异常
        IllegalArgumentException - 如果此枚举类型没有具有指定名称的常量
        NullPointerException - 如果参数为null