进程和线程

1、进程的状态及状态转换

尽管每个进程是一个独立的实体,有着自己的程序计数器和内部状态,但进程之间经常需要相互作用。

进程的三种状态为:

  • 运行态(该时刻进程实际占用 CPU)。
  • 就绪态(可运行,但因为其他进程正在运行而短暂停止)。
  • 阻塞态(除非某种外部事件发生,否则进程不能运行)。

进程的三种状态间有四种转换关系,如下图所示。

这里写图片描述

  • 运行 -> 阻塞:当一个进程在逻辑上不能继续运行时发生转换1,如进程等待输入。
  • 运行 -> 就绪:当操作系统认为一个运行的进程占用处理器的时间过长,决定让其他进程使用 CPU 时间时,则会发生转换 2,如时间片到。
  • 就绪 -> 运行:当一个就绪态的进程被调度程序选中重新占用 CPU 时,发生转换 3。
  • 阻塞 -> 就绪:当进程等待的一个外部事件发生时(如输入到达),则发生转换 4。如果此时没有其他进程运行,则立即出发转换 3,该进程便开始运行。

2、进程和线程的区别

(1) 地址空间:线程是进程内的一个执行单元,一个进程至少有一个线程,它们共享进程的地址空间,而进程有自己独立的地址空间;
(2) 资源拥有:进程是资源分配和拥有的基本单位,而同一个进程内的线程共享进程的资源;
(3) 线程是处理器调度的基本单位,但进程不是。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值