我是靠谱客的博主 典雅饼干,最近开发中收集的这篇文章主要介绍Java 线程状态有哪些?Java 线程状态有哪些?,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Java 线程状态有哪些?

 

线程状态有 5 种,新建,就绪,运行,阻塞,死亡。关系图如下:

1620uploading.4e448015.gif转存失败重新上传取消

1. 线程 start 方法执行后,并不表示该线程运行了,而是进入就绪状态,意思是随时准备运行,但是真正何时运行,是由操作系统决定的,代码并不能控制,

2. 同样的,从运行状态的线程,也可能由于失去了 CPU 资源,回到就绪状态,也是由操作系统决定的。这一步中,也可以由程序主动失去 CPU 资源,只需调用 yield 方法。

3. 线程运行完毕,或者运行了一半异常了,或者主动调用线程的 stop 方法,那么就进入死亡。死亡的线程不可逆转。

4. 下面几个行为,会引起线程阻塞。

  • 主动调用 sleep 方法。时间到了会进入就绪状态
  • 主动调用 suspend 方法。主动调用 resume 方法,会进入就绪状态
  • 调用了阻塞式 IO 方法。调用完成后,会进入就绪状态。
  • 试图获取锁。成功的获取锁之后,会进入就绪状态。
  • 线程在等待某个通知。其它线程发出通知后,会进入就绪状态
 
 
 
 
 
 
 
posted @ 2019-03-11 20:00 梓鸿 阅读(...) 评论(...) 编辑 收藏

最后

以上就是典雅饼干为你收集整理的Java 线程状态有哪些?Java 线程状态有哪些?的全部内容,希望文章能够帮你解决Java 线程状态有哪些?Java 线程状态有哪些?所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部