黑马程序员技术交流社区

标题: 【视频教程】探究JAVA线程状态及转化 [打印本页]

作者: 播妞    时间: 2018-11-7 12:01
标题: 【视频教程】探究JAVA线程状态及转化
我们做程序开发都会使用到线程,而关于线程的状态呢,江湖流传了很多版本,众说纷纭。有江湖的地方就有纷争,播妞本次为大家分享的微课将深入浅出探究Java中的线程状态,根据官方定义与源码,学习Java中的线程状态。本课程通过案例驱动方式深入研究Java中线程的六种状态,再通过画图的方式理解线程间的转换,其中涉及了源码的查看以及案例的设计,增强了学习的趣味性。感兴趣的同学们,切勿错过本次学习哦~
本次课程大纲:

l Java 线程状态之 NEW

l Java 线程状态之 RUNNABLE

l Java 线程状态之 BLOCKED

l Java 线程状态之 WAITING

l Java 线程状态之 TIMED_WAITING

l Java 线程状态之 TERMINATED

... ...部分资料展示:选自OS进程状态 VS JVM线程状态
第一章 OS 操作系统进程(传智播客版权)
1.1 进程的引入
提起进程这个概念,让很多经常使用计算机的人感到陌生,其实我们经常和它打交道,只要在计算机上运行一个程序,相应的一个进程就诞生了,而且它伴随着整个操 作过程,直到程序终止。进程在操作系统中是一个非常抽象、非常重要、非常难以理解的概念。对进程概念的深入透彻的理解,有助于理解操作系统中的各种机制原 理。
1.2 什么是进程
进程:进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位。简单理解为当一个程序进入到内存就形成了进程,进程也就是程序的一次执行过程。
进程状态:反映进程执行过程的变化。这些状态随着进程的执行和外界条件的变化而转换。进程状态即体现一个进程的生命状态。
进程状态反映进程执行过程的变化。这些状态随着进程的执行和外界条件的变化而转换。在三态模型中,进程状态分为三个基本状态,即运行态,就绪态,阻塞态。在五态模型中,进程分为新建态、终止态,运行态,就绪态,阻塞态。
对应英文即:new,ready,running,waiting,terminated。
1.3 三态模型
在一个进程的执行过程中,从创建到消亡的整个生命期间,有时占有CPU处理器执行,有时虽可运行但分不到CPU处理器、有时虽有空闲处理器但因等待某个事件的发生而无法执行,这一切都说明进程和程序不相同,代表着程序的生存状态,它是活动的且有状态变化的,这可以用一组状态加以刻画。为了便于管理进程,一般来说,按进程在执行过程中的不同情况至少要定义三种不同的进程状态:
[img=8,8]就绪态(ready):进程具备了运行条件,等待CPU分配才能运行。
运行态(running):进行正在执行,CPU正在处理该程序。
等待态(waiting):又称为阻塞态(blocked),指进程正在等待某件事情完成,不具备运行的状态。
通常,一个进程在创建后将处于就绪状态。每个进程创建之后,在执行过程中,任意时刻当且仅当处于上述三种状态之一。当然最终都会被终止,进入死亡状态。
从理论上分析有6种状态转换,我们就一一来说一下:
存在的:
1. 就绪态---->运行态:其他进程时间片用完,CPU空闲时被调度选中一个就绪进程执行。
2. 运行态---->就绪态:分配给每个进程的时间片是有限的,运行时间片到了就进入到就绪状态,或出现有更高优先权进程。
3. 运行态---->等待(阻塞)态:正在执行的进程因发生某等待事件而无法执行,则进程由执行状态变为阻塞状态,如发生了I/O请求(等待外设传输)。
4. 等待(阻塞)态---->就绪态:进程所等待的事件已经发生,就进入就绪队列。
还有两种不可能存在的转换:
1. 等待(阻塞)态---->运行态:即使给阻塞进程分配CPU,也无法执行,操作系统在进行调度时不会从阻塞队列进行挑选,而是从就绪队列中选取。
2. 就绪态---->等待(阻塞)态:就绪态根本就没有执行,谈不上进入等待态。
三态之间转换如图:
资料节选自第一章 OS 操作系统进程(传智播客版权)
网盘资料截图展示:
网盘资料下载链接已添加(回帖可见哦~)

作者: zhanghahahaha    时间: 2018-11-7 17:06
非常好

作者: mx003    时间: 2018-11-7 20:28
谢谢分享
作者: Yanziyun1234    时间: 2018-11-9 17:01
黑马出征,寸草不生
作者: lgx123    时间: 2018-11-14 10:23
111111111111111111111111
作者: dears    时间: 2018-11-16 09:32
666666666666666666666
作者: 1072350757    时间: 2018-11-16 23:51
看看怎么样

作者: Choot    时间: 2018-11-17 12:26
6326323
22sd324s5d63120
作者: 大明一条    时间: 2018-11-18 10:21
想学习,下载视频和资料看看看
作者: YangX228    时间: 2018-11-19 23:28

黑马出征,寸草不生
作者: 王小驰    时间: 2018-11-26 18:05
黑马出征,寸草不生
作者: x516914372    时间: 2018-11-29 10:21
下来看看
作者: huiyiwl    时间: 2018-12-1 16:59
很好的学习资料
作者: 赵希伦    时间: 2018-12-4 17:19
先马后看

作者: 林博141592    时间: 2018-12-4 18:48
学习学习学习学习学习学习
作者: 程自龙    时间: 2019-1-2 14:13
                                 
感谢楼主,太给力了!
作者: 千里风絮    时间: 2019-1-2 14:36
不错,赞一个
作者: 未央i    时间: 2019-1-12 23:42
感谢分享
作者: gaogaofeng    时间: 2019-2-15 16:07
haohao
作者: ideal8823    时间: 2019-2-18 13:56
1111111111111111111111111111
作者: feiling    时间: 2019-2-18 14:19
vvvv
作者: 张志刚    时间: 2019-2-23 11:23
好东西值得分享,辛苦卤煮
作者: 董先生NIHAO    时间: 2019-3-2 17:20
问问群翁无群翁
作者: 18875998324    时间: 2019-3-5 20:50
111111111111111111111111111
作者: dc34642426    时间: 2019-3-5 22:02
666666 x新马来看看
作者: 当下    时间: 2019-3-6 02:10
辛苦啦啦
作者: 欧阳少    时间: 2019-3-16 19:00
感谢黑马!!!
作者: wl20190101    时间: 2019-6-10 11:48

非常好
非常好
非常好
作者: 〆心情    时间: 2019-6-11 18:58
谢谢楼主分享

作者: 大理    时间: 2019-7-1 13:10
666666666666666666666666
作者: HM819813992    时间: 2019-7-17 23:29
666666666666666666666666666666
作者: 梅洛先生    时间: 2019-8-28 20:04
谢谢分享
作者: sdfjsio    时间: 2019-9-8 18:44
很好 真的很好
作者: 打怪进阶狂    时间: 2019-9-11 11:37
很需要谢谢波妞分享啦  会好好学习的
作者: THeNICE    时间: 2019-10-20 12:49
学习                                       
作者: sydt    时间: 2019-10-25 08:47
thank you very much
作者: 技术小宅    时间: 2019-11-5 21:39
66666666666666666666666666666666666666
作者: lusaisai    时间: 2019-12-2 15:19

多谢分享
作者: kingdom_llx    时间: 2020-5-25 10:55
666666666dgfdgdf
作者: idhclub    时间: 2020-5-29 13:04
666666666666666666666
作者: 二郎加油    时间: 2020-5-30 07:25
给波妞点赞
作者: gds    时间: 2020-10-18 20:54






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2