热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

JAVA线程状态转换图示及说明,软件工程状态转换图

就绪状态:线程对象创建后,其他线程调用了该对象的start(方法。该状态的线程位于可运行线程池中,变得可运行,等待获取CPU的使用权。阻塞状态:阻塞状态是线程因为某种原因放弃CPU


一、转换图示如下:


二、转换说明线程状态类型新建状态(New ) :创建了一个新线程对象。


就绪状态(Runnable ) :创建线程对象时,其他线程将调用该对象的start ) )方法。 处于此状态的线程位于可执行线程池中,可以执行,等待获取CPU使用权。


执行状态(Running ) :准备完毕状态的线程获取CPU,执行程序代码。


阻塞状态(Blocked ) :阻塞状态是指线程由于某种原因放弃CPU使用权,暂时停止的状态。 在线程进入就绪状态之前,没有机会进入运行状态。 屏蔽的情况可以分为(一)、等待屏蔽三部分。 正在运行的线程是wait ) )方法,JVM将该线程放入等待池中。 (二)同步阻塞)执行中的线程获取对象的同步锁时,如果该同步锁被其他线程占用,JVM会将该线程放入锁池。 (三)、其他阻塞)当正在运行的线程执行sleep ()或join ()方法或发出I/O请求时,JVM会阻塞该线程。 当sleep (状态超时,join ) )等待线程完成或超时,或者I/O操作完成时,线程将返回就绪状态。


由于转移(Dead )线程已完成运行或运行(run ) )方法异常终止,线程将终止生命周期。


推荐阅读
author-avatar
xsf9507
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有