线程的执行状态图
来源:互联网 发布:电视在线直播源码 编辑:程序博客网 时间:2024/06/06 08:53
线程间的状态转换:
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 线程的状态图
- 线程的状态图
- 【java0005】 多线程-线程的状态图
- 线程状态图
- 线程状态图
- 线程状态图
- 线程状态图
- 线程状态图
- 线程状态图
- java线程状态图
- Java线程状态图
- 转载 线程状态图
- Java线程状态图!
- java线程状态图;
- 线程生命周期状态图
- 【Java.Concurrency】Java线程状态图
- 利用递推快速计算方差和均值
- Swoole整合ThinkPHP3.2系列教程三
- JDBC编程指南
- RxAndroid+Retorfit实现数据请求
- javaseday33补充2(图片漂浮 签名图片内显示文字)
- 线程的执行状态图
- java中的继承语法
- 发布开源库到 JitPack.io + jcenter
- 一种使RecycleView禁止滑动的方法
- java调用oracle存储过程 传递 自定义数组,对象
- PMTUD
- 机器学习如何防止过拟合
- CSS3--字体字符效果等
- 欢迎使用CSDN-markdown编辑器