1. 概述
Java线程状态由 Thread#State 枚举定义,有以下6种:
public enum State {
NEW,
RUNNABLE,
BLOCKED,
WAITING,
TIMED_WAITING,
TERMINATED;
}
- NEW:初始状态,线程创建后还没开始运行
- RUNNABLE:运行状态,包含就绪和运行中两种状态
- BLOCKED:阻塞状态,竞争不到锁资源的线程,就会进入阻塞,直到获取到锁为止
- WAITING:等待状态,由以下3种情况触发:wait()、join()、LockSupport.part()
- TIMED_WAIT