线程状态转换.pptVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
线程状态转换 目录 线程生命周期 线程状态介绍 线程的生命周期 线程在它的生命周期中会处于不同的状态: * 运 行 (Running) 死 亡 (Dead) 等待队列 锁池队列 1、run()/main()方法结束 2、异常退出 阻塞状态 (Blocked) 1、join() 2、sleep() 3、等待输入 同步锁 synchronized 1、notify() 2、notifyAll () 取得对象锁 系统调度 1、CPU时间片用完 2、Thread.yield() 新建 (new) start() 可运行 ( Runnable) 1、join()结束 2、sleep()结束 3、输入结束 wait() 线程状态 新建状态(New):使用new关键字创建线程对象,仅仅被分配了内存; 可运行状态(Runnable):线程具备获得CPU时间片的能力。线程进入可运行状态的情况如下: 线程start()方法被调用; 当前线程sleep()、其它线程join()结束、等待用户输入完毕; 某个线程取得对象锁; 当前线程时间片用完了,调用当前线程的yield()方法。 运行状态(Running):执行run方法,此时线程获得CPU的时间片; * 线程状态 阻塞状态(Blocked):线程由于某些事件放弃CPU使用权,暂停运行。直到线程重新进入可运行状态,才有机会转到运行状态。阻塞状态分为如下几种: 同步阻塞 – 线程获得同步锁,若被别的线程占用,线程放入锁池队列中。 等待阻塞 – 线程执行wait()方法,线程放入等待队列中。 其它阻塞 – 线程执行sleep()或join()或发出I/O请求。 死亡状态(Dead):run、main() 方法执行结束,或者因异常退出了run()方法,线程进入死亡状态,不可再次复生。 * 线程章节的所有内容,都将体现在线程的状态转换图上。 * 线程章节的所有内容,都将体现在线程的状态转换图上。 *

文档评论(0)

559997799 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档