线程六种状态
NEW
→
RUNNABLE
→
TERMINATED
BLOCKED
WAITING
TIMED_WAITING
状态说明
| 状态 | 说明 | 进入方式 |
|---|---|---|
| NEW | 创建未启动 | new Thread() |
| RUNNABLE | 正在JVM运行 | start() |
| BLOCKED | 等待锁 | synchronized |
| WAITING | 无限期等待 | wait()/join() |
| TIMED_WAITING | 限期等待 | sleep()/join(timeout) |
| TERMINATED | 执行完毕 | run()结束 |
获取线程状态
Thread t = new Thread(() -> {
System.out.println("Running");
});
System.out.println(t.getState());
t.start();
System.out.println(t.getState());
小结
- 线程有六种状态:NEW、RUNNABLE、BLOCKED、WAITING、TIMED_WAITING、TERMINATED
- sleep()进入TIMED_WAITING
- wait()进入WAITING
- synchronized未获得锁时进入BLOCKED