线程状态变迁

操作系统中线程/进程状态的变迁

screenshot

                        图一
     
新的:刚创建一个新的线程还没执行相应的start方法。
    就绪态:线程执行所需要的资源都已经满足了,就差CPU分配的时间片了
运行态:正在使用CPU时间片执行代码
等待:正在等待获取某些资源或某个事件的发生
终止:执行完程序

运行态——》就绪态:CPU分配的时间片到了,操作系统给出一个中断,对该线程进行上下文切换,使其进入就绪态。
就绪态——》运行态:拿到CPU时间,从PCB载入上次执行的信息,继续 运行程序
运行——》等待:正在运行的程序需要获取额外的资源如:锁,I/O.或某个事件的发生。
    等待——》就绪:已经获取到运行所需要的资源。

JAVA 中线程状态的变迁

screenshot图二

java 中线程状态的变迁细化了操作系统的状态的变迁。多了阻塞态,和超时等待。进入阻塞态的线程是想进入同步块。至于JVM为何要这样定义其线程的状态,我想可能是为了编程人员更好的操作线程吧。

图一:来源于《操作系统概念第七版》
图二:来源于《Java并发编程的艺术》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值