一. 线程的几种状态
1.观察线程的所有状态
线程的状态是一个枚举类型 Thread.state
public static void main(String[] args) {
for (Thread.State state : Thread.State.values()) {
System.out.println(state);
}
}
下面我详细解释一下这几种状态的含义:

2.线程状态的含义
- NEW : Thread 对象被创建出来, 但是内核的PCB还没创建(还没真正的创建线程)
- TERMINATED : 内核的PCB销毁了, 但是Thread对象还在
- RUNNABLE : 就绪状态. (正在CPU上运行 + 在就绪队列中排队)
- TIMED_WAITING : 按照一定的时间, 进行阻塞, sleep.
- WAITING : 特殊的阻塞状态, 调用wait.
- BLOCKED : 等待锁的时候进入的阻塞状态.
3.线程状态和状态转移

从上图来看, 最开始是一个 NEW 状态, 然后进入 RUNNABLE 状态, 也就是线程开始运行了, 再然后运行完了就进入 TERMINATED 状态, 这是主干道, 线程从开始到结束的状态, 然后

最低0.47元/天 解锁文章
203

被折叠的 条评论
为什么被折叠?



