Thread源码
很多地方说是五种,不过Java源码里面Thread的状态是有六种的。
public enum State {
// 新生
NEW,
// 可运行
RUNNABLE,
// 阻塞
BLOCKED,
// 等待
WAITING,
// 超时等待
TIMED_WAITING,
// 终止
TERMINATED;
}
经典图解
图中可以看到甚至可以分为7种状态,不过中心那里的RUNNING(运行中)和READY(就绪)可以合并成为RUNNABLE(运行)状态。