- 浏览: 20824 次
- 性别:
文章分类
最新评论
线程状态转换图
1.新建:通过创建Thread类的一个实例对象(之后会一直称为此线程对象)并传入一个 Runnable接口的实现类象,创建并注册此线程(之后也会一直称为此线程)。
2.启动:通过调用此Thread对象的start方法,运行此Runnable对象(之后会一直称为此对象)的run方法,启动此线 程。
3.可运行状态:启动此线程后,此线程会参加排队,等待时间片调度。
4.运行状态:此线程获得时间片后,进入运行状态,在这期间可能会发生以下某种或多种情况:
4.1-本次时间片结束时此线程没有执行完毕,重新回到可运行状态;
4.2-通过此线程对象的yield方法,把时间片让给其他线程,重新回到可运行状态;
4.3-通过调用此线程对象的sleep方法,使该线程进入暂停(阻塞/等待)状态,在指定暂停时间内,如果有其他线程调用此线程对象的 interrunpt 方法,此线程会被中断唤醒,提前回到可运行状态。否则将在指定暂停时到达后再回到可运行状态;
4.4-通过调用此线程对象的 join 方法,此线程所处的当前线程会进入等待此线程执行完毕的暂停状态。当然在调用此线程对象的join方法时,可以指定当前线程的最长等待时间。在此期间当前线程一直处于暂停状态,如果没有其他线程通过调用此线程对象的interrupt方法中断唤醒此线程的话;
4.5-如果此线程参加了此对象的资源同步,且在要进入此对象的 synchronized 同步块内时,如果已有其他线程取得了此对象的监视器,那么,此线程对进入此对象的监视器等待集中。然后,此线程以常规方式与其他线程竞争,以获得在此对象上同步的权利(也就是获得此对象的监视器),一旦获得此对象的控制权(监视器),对此对象的同步声明都将恢复到以前的状态,此线程会回到可运行状态;
4.6-如果此线程参加了此对象的资源同步,在调用此对象的wait方法时,此线程进入此对象的等待集中,然后放弃对此对象上的所有控制权(交出此对象的监视器)。当然可以在调用此对象的wait 法时指定此线程等待的最长时间,在指定等待时间到达之前,或处于一直等待的状态的时候,如果其他某个拥有此对象监视器的线程调用此对象的 notify/notifyAll 方法,或被其他线程中断唤醒,此线程对进入此对象的监视器等待集中;
注意,此方法只应由作为此对象监视器的所有者的线程来调用。
注:join/wait:如果指定时间为0,则一直等待下去。
sleep:如果指定时间为0,则不予考虑。
5.终止状态:如果此线程执行完毕,最终进入终止状态,且不能够再次启动。
发表评论
-
IO输入与输出
2012-08-13 17:21 0IO/输入输出 File类 它是IO包中唯一代表磁盘文件本身信 ... -
网络编程-总结01
2012-08-12 20:38 707网络模型: OSI参考模型 TCP/IP参考模型 ... -
黑马程序员-Java基础加强-知识总结
2012-07-30 04:24 1039------- android培训、java ... -
黑马程序员-银行业务调度系统的分析、设计、实现
2012-07-28 20:19 801------- android培训、java培训、期待与 ... -
黑马程序员-交通灯管理系统的分析、设计、实现
2012-07-28 01:49 718------- android培训、java培训、期待与 ... -
黑马程序员-编程基础03-单例设计模式
2012-07-27 17:47 585------- android培训、java培训、期待与 ... -
黑马程序员-编程基础02-小知识点
2012-07-27 17:12 850------- android培训、jav ... -
黑马程序员-编程基础01-进制
2012-07-26 17:19 868------- android培训、java培训、期待与您交流 ... -
黑马程序员-Java开发前奏
2012-07-26 17:10 744------- android培训、java培训、期待与您交流 ... -
IO-1
2012-07-24 18:26 08.File类 1)File类是IO包中唯一代表磁 ... -
IO-2
2012-07-24 18:24 011.字符编码 计算机里只有数字,计算机里的一 ... -
为什么匿名内部类只能访问其所在方法中的final变量
2012-07-24 18:03 0(1).所谓“局部内部类”就是在对象的方法成员内部定义的类。而 ... -
黑马程序员-网络编程-总结02
2012-07-25 00:04 668------- android培训、java培训、期待与 ... -
黑马程序员-GUI
2012-07-25 00:08 643------- android培训、java培训、期待与 ... -
黑马程序员-IO包中的其它对象
2012-07-25 00:04 657------- android培训、ja ... -
黑马程序员-异常
2012-07-25 00:03 708------- android培训、java培训、期待与 ... -
黑马程序员-&和&&的区别
2012-07-24 14:31 540------- android培训、java培训、期待与 ... -
黑马程序员-将指定目录下的文件复制到指定的目录,并更改扩展名
2012-07-24 14:20 1002------- android培训、java培训、期待与 ... -
黑马程序员-几种常用排序算法
2012-07-24 14:06 574------- android培训、java培训、期待与 ... -
黑马程序员-wait and notify
2012-07-24 13:12 704------- android培训、jav ...
相关推荐
黑马程序员-SpringCloud-学习笔记-03-Eureka注册中心
黑马程序员-SpringCloud-学习笔记01-认识微服务
黑马QT讲义,适合QT入门,使用,教程很比较基础,新手可以看看,另外视频链接在哔哩哔哩中。
黑马程序员 - Java基础教学 - 04 - 数组、进制转换、二维数组
黑马程序员-SpringCloud-学习笔记-02-微服务拆分及远程调用
黑马程序员 - Java基础教学 - 05 - 面向对象(1).doc
黑马程序员 - 毕向东 - Java基础教学 - 第02天 个人观看视频总结文档
黑马程序员-java32期培训视频(基础+就业)黑马程序员-java32期培训视频(基础+就业)
黑马程序员-梅兰商城项目实战,包含图片素材和编写源码。
day01_Object类、常用API day02_Collection、泛型 day03_List、Set、数据结构、...day10_缓冲流、转换流、序列化流、Files day11_网络编程 day12_函数式接口 day13_Stream流、方法引用 Java基础小节练习题答案
黑马程序员 - 毕向东 - Java基础教学 - 第01天 个人观看视频总结文档
C++黑马程序员-演讲比赛流程管理系统记录
黑马程序员 - Java基础教学 - 03 - 变量的作用域、for循环、break、continue、内存结构
NULL 博文链接:https://huangminwen.iteye.com/blog/1157983
黑马程序员 - Java基础教学 - 08 - 面向对象(4)-多态.doc
黑马程序员--毕向东全套Java视屏,讲解的相当全面,各位如果需要,尽快下载哦! 另外如果视频链接存在打不开的问题,请留言,必定及时更新链接。
NULL 博文链接:https://840198532-qq-com.iteye.com/blog/1490901
NULL 博文链接:https://840198532-qq-com.iteye.com/blog/1490903
黑马程序员 - Java基础教学 - 06 - 面向对象(2) - 关于静态static的那些事.doc
NULL 博文链接:https://840198532-qq-com.iteye.com/blog/1490899