OS中了解“并发”与“并行”的区别和“宏观上并发,微观上交替执行”

本文详细解析了并发与并行的概念,阐述了两者在微观与宏观执行方式上的本质区别。并发是指多个事件在同一时间间隔内交替执行,而并行则是指多个事件在同一时刻内真正同时进行。通过种树的例子生动地说明了这两种执行方式的不同。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

“并发”与“并行”的区别

并发 指两个或多个事件在同一时间间隔内发生,看似都在向前推进;

  • 在微观上不是同时执行的,只是把时间分成若干段,使多个进程快速交替的执行。好比CPU你用完了我接着用,我用完了下一个进程接着用,重在交替。
  • 从宏观外来看,在一段时间内,所有程序都在向前推进,好像是这些进程都在执行。
  • 由于处理器的速度很快,因而从宏观上来看,这些程序都在向前推进,仿佛每个进程都拥有一个属于自己的处理器,即所谓的虚处理器。

并行 指两个或多个事件在同一时刻内在不同的物理设备上发生;

  • 无论在微观还是宏观上都是在同时进行。
  • 每个事件在同一时刻真正的同时进行。
  • 在单CPU中无法实现进程与进程之间的并行。
  • 可以实现不同物理设备上的并行。

举个栗子

  • 背景: 将CPU比做成铲子,然后每个进程事件就是人去种树,然后现在有小明和小红都要种一颗小树,假设小明小红的能力属性一致。
  • 种树流程: 拿铲子挖坑 → 丢铲子取树苗 → 拿铲子将树苗种起来。
  • 并发种树: 小明先抢到铲子然后就开始挖坑,小红就在旁边等小明用完铲子。小明挖完坑后把铲子给小红去拿树苗,然后小红就开始拿着铲子挖坑。等小明将树苗拿回来时候也许还需要等一小段时间(一直等到小红把坑挖好,或者她中途不挖坑把铲子丢下去干其他事情),然后小红挖完坑后丢下铲子去拿树苗的时候小明就拿起铲子将树苗种在土里,小明的任务就完成了。小红拿完树苗回来的时候也拿起铲子将树埋起来完成了任务。
  • 并行种树: 有两把铲子,小明和小红同时去挖坑、取树苗和种树,一段时间后小明小红都种完了树。
  • 解释: 并发的种树由于资源的限制只有一把铲子,所以各自只是在不断的换铲子来挖坑种树,在一段时间后两人交替的完成了任务,宏观上看似都在种树。而并行的种树就是真正意义上的同时种树,同时完成任务。

理解“宏观上并发,微观上串行”

  • 宏观上并发就是指在同一时间段内,CPU高速处理不同任务,看似每个程序都在向前推进。微观上,单CPU中在高速不断的切换进程执行。
  • 比如有A和B两个事件,先在CPU上处理A事件,随后A需要用到输出设备,CPU就开始去执行B事件,然后B需要用到输入设备,CPU又回过来处理A事件,最后处理完A事件后又处理完B。从微观上来讲A和B事件在CPU中是在不断的交替执行的。而在宏观上来看,AB事件都在同时向前推进,仿佛每个事件都有一个专门的处理器。即宏观上并发,微观上交替执行即串行。

资料参考:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MoMing丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值