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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

相关推荐

  1. 线安全应用:

    2023-12-31 09:36:03       24 阅读
  2. 项目中线应用

    2023-12-31 09:36:03       54 阅读
  3. spring boot 线应用

    2023-12-31 09:36:03       35 阅读
  4. c++ 线几种状态

    2023-12-31 09:36:03       45 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-31 09:36:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-31 09:36:03       100 阅读
  3. 在Django里面运行非项目文件

    2023-12-31 09:36:03       82 阅读
  4. Python语言-面向对象

    2023-12-31 09:36:03       91 阅读

热门阅读

  1. 基于单片机的公交车站自动报站器设计与实现

    2023-12-31 09:36:03       64 阅读
  2. MybatisPlus之常用插件的使用

    2023-12-31 09:36:03       52 阅读
  3. Spring Boot IO官方文档中文版

    2023-12-31 09:36:03       42 阅读
  4. vue、react、angular 区别

    2023-12-31 09:36:03       56 阅读
  5. delphi中format日期格式的小要点

    2023-12-31 09:36:03       57 阅读
  6. Ubuntu 系统中安装和配置 clash

    2023-12-31 09:36:03       54 阅读
  7. 设计模式之观察者模式

    2023-12-31 09:36:03       55 阅读
  8. 每日力扣算法题(简单篇)

    2023-12-31 09:36:03       60 阅读
  9. 微信小程序 手机号授权登录 偶尔后端解密失败

    2023-12-31 09:36:03       59 阅读