- java.lang.Object
-
- java.lang.Enum<Thread.State>
-
- java.lang.Thread.State
-
- 实现的所有接口
-
Serializable
,Comparable<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 Summary
Enum Constants Enum Constant 描述 BLOCKED
线程的线程状态被阻塞等待监视器锁定。NEW
尚未启动的线程的线程状态。RUNNABLE
可运行线程的线程状态。TERMINATED
终止线程的线程状态。TIMED_WAITING
具有指定等待时间的等待线程的线程状态。WAITING
等待线程的线程状态。
-
-
-
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
没有超时 -
Thread.join
没有超时 -
LockSupport.park
处于等待状态的线程正在等待另一个线程执行特定操作。 例如,一个已调用线程
Object.wait()
的对象上正在等待另一个线程来调用Object.notify()
或Object.notifyAll()
该对象上。 调用Thread.join()
线程正在等待指定的线程终止。 -
-
TIMED_WAITING
public static final Thread.State TIMED_WAITING
具有指定等待时间的等待线程的线程状态。 由于在指定的正等待时间内调用以下方法之一,线程处于定时等待状态:
-
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
-
-