Java 300 days

【第 24 天】多线程篇 - 运行状态

2018-10-12  本文已影响0人  Satan1a

多线程篇 - 线程的运行状态

线程的五种状态:

[1] 新建<br />在实例化后,且在调用 start() 方法之前,线程处于创建状态,仅分配了内存空间,处于线程的生命周期初始状态<br />
[2] 就绪<br />调用 start() 方法后处于就绪状态,此时线程具有除 CPU 之外的所有资源,在排队等待 CPU, 由系统调度(JVM 里的线程调度器)为其分配<br />
[3] 运行<br />处于就绪状态的线程获取 CPU 资源后即处于运行状态,执行 run() 方法。处于运行状态的线程可变为 阻塞状态、就绪状态和死亡状态 <br />
[4] 阻塞/等待<br />执行了 sleep() suspend()挂起 等方法,失去所占用的资源后,处于阻塞状态。<br />特别注意的是,阻塞状态和就绪状态的等待不同是:就绪状态只缺 CPU 资源,阻塞是由各种原因引起的线程不能运行,不仅缺少 CPU 资源。<br />可再细分为:<br />

今日的知识点在代码注释中较多,回顾时多看源码

https://github.com/satan1a/Java300Days/tree/master/x24%20day/checkThread

上一篇 下一篇

猜你喜欢

热点阅读