文档章节

一张图让你看懂JAVA线程间的状态转换

程明东
 程明东
发布于 2013/06/21 17:42
字数 406
阅读 7.1W
收藏 76

精选30+云产品,助力企业轻松上云!>>>


线程间的状态转换: 

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()方法,则该线程结束生命周期。死亡的线程不可再次复生。

程明东
粉丝 16
博文 10
码字总数 6495
作品 0
海淀
高级程序员
私信 提问
加载中
此博客有 10 条评论,请先登录后再查看。
用排队买票的场景去理解JAVA线程间的状态转换

用排队买票的情景去理解JAVA线程间的状态转换![在此输入图片描述][1] ![在此输入图片描述][2] [1]: http://static.oschina.net/uploads/space/2014/0916/165249_uToK_175978.jpg[2]: http:/...

挖他西瓦
2014/09/16
74
0
一张图让你看懂JAVA线程间的状态转换

线程间的状态转换: 1. 新建(new):新创建了一个线程对象。 2. 可运行(runnable):线程对象创建后,其他线程(比如main线程)调用了该对象的start()方法。该状态的线程位于可运行线程池中,等...

李朝强
2013/08/01
56
0
Java线程状态转换

前言:对于Java线程状态方面的知识点,笔者总感觉朦朦胧胧,趁着最近整理资料,将Java线程状态方面的知识点总结归纳,以便加深记忆。 1.Java线程状态值 在Thread类源码中通过枚举为线程定义了...

osc_ox6w5nxo
2019/02/17
2
0
java并发基础及原理

java并发基础知识导图 一 java线程用法 1.1 线程使用方式 1.1.1 继承Thread类 继承Thread类的方式,无返回值,且由于java不支持多继承,继承Thread类后,无法再继承其他类。 1 /** 2 * 继承Threa...

osc_7831jj0v
04/16
2
0
下次面试再一上来就问我线程有哪些状态,我上去就是给他一 jio

这是大厂面试系列,还原真实场景,把问题讲清楚。 点赞再看,养成习惯~ 微信搜索【武哥聊编程】,关注这个 Java 菜鸟。 是的,今天必须要把它给彻底根治了! 现在 Java 面试,基本上都会问到...

武哥聊编程
04/20
0
0

没有更多内容

加载失败,请刷新页面

加载更多

在Twitter Bootstrap中更改导航栏颜色 - Change navbar color in Twitter Bootstrap

问题: 我将如何修改CSS来更改Twitter Bootstrap中导航栏的颜色? 解决方案: 参考一: https://stackoom.com/question/1FkJG/在Twitter-Bootstrap中更改导航栏颜色 参考二: https://oldbug...

富含淀粉
53分钟前
5
0
WordPress插件 Loco Translate 使用笔记

Loco Translate 是一个免费的 WordPress 翻译插件 , 作用是创建Wordpress主题/插件甚至系统的语言包,不过这个插件上手有些难度,某些操作和界面甚至有些误导。我之前用来做过一个模板的项目...

FalconChen
今天
21
0
数组

数组

愿有时光可回首
今天
11
0
OSChina 周二乱弹 —— 你笑起来真好吃

Osc乱弹歌单(2020)请戳(这里) 【今日歌曲】 @薛定谔的兄弟 :分享洛神有语创建的歌单「我喜欢的音乐」: 《竹林の風》- 華風月 手机党少年们想听歌,请使劲儿戳(这里) @巴拉迪维 :乃们...

小小编辑
今天
29
2
IDEA编辑多行

按住alt+shift,然后用鼠标左键点击文本,可以让光标在多个位置出现, 每个光标都会同时输入你输入的文本 按住 Ctrl+Shift+Alt,用鼠标选则多行文本,可以每处选择都是整齐的矩形。 按一下 ...

佛前花落听碎语
今天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部