Thread.State
java.lang.Object
|—java.lang.Enum<Thread.State&
|—|—java.lang.Thread.State
public static enum Thread.State
extends Enum<Thread.State>
线程状态。 线程可以处于以下状态之一:
- NEW 尚未启动的线程处于此状态。
- RUNNABLE 在 Java 虚拟机中执行的线程处于此状态。
- BLOCKED 阻塞等待监视器锁的线程处于此状态。
- WAITING 无限期等待另一个线程执行特定操作的线程处于此状态。
- TIMED_WAITING 等待另一个线程执行操作达指定等待时间的线程处于此状态。
- TERMINATED 已退出的线程处于此状态。
一个线程在给定的时间点只能处于一种状态。 这些状态是不反映任何操作系统线程状态的虚拟机状态。
枚举常量摘要
枚举常量 | 描述 |
---|---|
BLOCKED | 线程阻塞等待监视器锁的线程状态。 |
NEW | 尚未启动的线程的线程状态。 |
RUNNABLE | 可运行线程的线程状态。 |
TERMINATED | 已终止线程的线程状态。 |
TIMED_WAITING | 具有指定等待时间的等待线程的线程状态。 |
WAITING | 等待线程的线程状态。 |
方法总结
修饰符和类型 | 方法 | 描述 |
---|---|---|
static Thread.State | valueOf(String name) | 返回具有指定名称的此类型的枚举常量。 |
static Thread.State[] | values() | 按照声明的顺序返回包含此枚举类型常量的数组。 |
从类 java.lang.Enum 继承的方法 |
---|
clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf |
从类 java.lang.Object 继承的方法 |
---|
getClass, notify, notifyAll, wait, wait, wait |
枚举常量详细信息
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
- 锁支持#park()
处于等待状态的线程正在等待另一个线程执行特定操作。 例如,一个对对象调用 Object.wait() 的线程正在等待另一个线程对该对象调用 Object.notify() 或 Object.notifyAll()。 已调用 Thread.join() 的线程正在等待指定线程终止。
TIMED_WAITING
public static final Thread.State TIMED_WAITING
具有指定等待时间的等待线程的线程状态。 由于以指定的正等待时间调用以下方法之一,线程处于定时等待状态:
- Thread.sleep
- Object#wait(long) with timeout
- Thread.join with timeout
- LockSupport#parkNanos
- LockSupport#parkUntil
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 | 要返回的枚举常量的名称。 |
返回:
具有指定名称的枚举常量
Throws:
Throw名称 | Throw描述 |
---|---|
IllegalArgumentException | 如果此枚举类型没有具有指定名称的常量 |
NullPointerException | 如果参数为null |