概括的解释下线程的几种可用状态
来源:互联网 发布:元鼎科技 阿里云 编辑:程序博客网 时间:2024/06/04 19:38
1. 新建( new ):新创建了一个线程对象。
2. 可运行( runnable ):线程对象创建后,其他线程(比如 main 线程)调用了该对象 的 start ()方法。该状态的线程位于可运行线程池中,等待被线程调度选中,获 取 cpu 的使用权 。
3. 运行( running ):可运行状态( runnable )的线程获得了 cpu 时间片( timeslice ) ,执行程序代码。
4. 阻塞( block ):阻塞状态是指线程因为某种原因放弃了 cpu 使用权,也即让出了 cpu timeslice ,暂时停止运行。直到线程进入可运行( runnable )状态,才有 机会再次获得 cpu timeslice 转到运行( running )状态。阻塞的情况分三种:
(一). 等待阻塞:运行( running )的线程执行 o . wait ()方法, JVM 会把该线程放 入等待队列( waitting queue )中。
(二). 同步阻塞:运行( running )的线程在获取对象的同步锁时,若该同步锁 被别的线程占用,则 JVM 会把该线程放入锁池( lock pool )中。
(三). 其他阻塞: 运行( running )的线程执行 Thread . sleep ( long ms )或 t . join ()方法,或者发出了 I / O 请求时, JVM 会把该线程置为阻塞状态。 当 sleep ()状态超时、 join ()等待线程终止或者超时、或者 I / O 处理完毕时,线程重新转入可运行( runnable )状态。
5. 死亡( dead ):线程 run ()、 main () 方法执行结束,或者因异常退出了 run ()方法,则该线程结束生命周期。死亡的线程不可再次复生。
阅读全文
0 0
- 概括的解释下线程的几种可用状态
- 概括的解释下线程的几种可用状态
- 概括解释线程的几种状态
- 解释线程的几种可用状态
- 线程的几种可用状态
- 线程的几种可用状态
- 线程的几种可用状态及运行机制
- 线程的几种状态
- 线程的几种状态
- 线程的几种状态
- 线程的几种状态
- 线程的几种状态
- 线程的几种状态
- 线程的几种状态
- java的线程的几种状态
- JAVA 线程的几种状态
- java线程的几种状态
- Java中线程的几种状态
- Excel 技巧百例:数据透视表的简单使用-分类汇总
- 每天新增19093行代码,恐怖不!
- ucos,综合范例,详解
- Ceres-Solver学习笔记(4)
- Linux用户管理
- 概括的解释下线程的几种可用状态
- hdu 1007 Quoit Design
- C++ 多态模型的剖析
- Android视频正逆序播放
- 将 “ 引用 ” 作为函数返回值类型的格式、好处和需要遵守的规则
- vb开发ocx控件整理
- 四招助力练就Devops核心能力!
- super关键字
- 谨慎优化代码