Module java.base
Package java.lang

Enum Class Thread.State

java.lang.Object
java.lang.Enum<Thread.State>
java.lang.Thread.State
所有已实现的接口:
Serializable, Comparable<Thread.State>, Constable
封装类:
Thread

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

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

自JDK版本:
1.5
参见:
  • Enum Constant Details

    • 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()的线程正在等待指定线程终止。

    • TIMED_WAITING

      public static final Thread.State TIMED_WAITING
      具有指定等待时间的等待线程的线程状态。线程处于定时等待状态是由于调用以下方法之一,并指定了正等待时间:
    • TERMINATED

      public static final Thread.State TERMINATED
      终止线程的线程状态。线程已完成执行。
  • Method Details

    • values

      public static Thread.State[] values()
      返回包含此枚举类的常量的数组,按照它们声明的顺序排列。
      返回:
      包含此枚举类的常量的数组,按照它们声明的顺序排列
    • valueOf

      public static Thread.State valueOf(String name)
      返回具有指定名称的此类的枚举常量。字符串必须与在此类中声明枚举常量时使用的标识符完全匹配。(不允许存在多余的空格字符。)
      参数:
      name - 要返回的枚举常量的名称。
      返回:
      具有指定名称的枚举常量
      抛出:
      IllegalArgumentException - 如果此枚举类没有具有指定名称的常量
      NullPointerException - 如果参数为null