线程的6个状态(应该能应付一下考试)

2023-12-30 21:34:54

如果你是一个拉面店的老板,员工是cpu资源,顾客是线程

一天中午,你的拉面店人很多,总共6个后厨全都在工作,此时:

来了一名顾客,这位顾客坐在位置玩手机

1.由于这位顾客没有下单,可能正在手机上点餐,但是占用了这个位置,这就是 新建 状态。

顾客下单了一碗大碗牛肉面加荷包蛋

2.这时顾客已经下单,但是店里没有多余的后厨给它做饭,此时他就处于 就绪

终于有后厨忙完了其他的单子开始做这碗大碗牛肉面加荷包蛋

3.获取cpu时间后,系统分配时间片后这个流程就是 运行

还没给他做好,突然发现牛肉没有了,没了牛肉,准备送走的要牛肉的单子都卡住了,卡住之后后面不要牛肉的也跟着卡住了

4.由于某一步卡住导致整个流程卡住了,这就是 阻塞

不能就这么卡着,等牛肉准备好了后面的军少要生气了,就先把不加牛肉的送上去,要加牛肉的单子都等着吧

5.那么这些单子就进入了?等待?状态,后厨们暂时放弃它们又可以开始新的单子了

注意,等待就绪不一样,等待是开始后暂停了,就绪是还没开始

终于牛肉也切好了,可以把放置的单子继续完成了

等待结束之后的进程会进入到就绪态,但优先级不一定比新建的就绪态高

牛肉面终于端到了顾客桌上,这时候就已经完成了?

6.进程处于完成状态或者因为意外退出都是终止状态?

文章来源:https://blog.csdn.net/weixin_44464046/article/details/135308694
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。