Module  java.base
软件包  java.lang

Enum Thread.State

  • All Implemented Interfaces:
    SerializableComparable<Thread.State>
    Enclosing class:
    Thread


    public static enum Thread.State
    extends 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