并行与并发

在学习多线程和多进程之前我们需要了解两种工作模式 ---- 并行与并发。

并行与并发

并行与并发是这样定义的:

  • 并发(Concurrency):把任务在不同的时间点交给处理器进行处理。在同一时间点,任务并不会同时运行。
  • 并行(Parallelism):把每一个任务分配给每一个处理器独立完成。在同一时间点,任务一定是同时运行。

下图展示了并行与并发的工作方式:
请添加图片描述

如果你不能理解,我们来举一个例子。比如你在看世界杯⚽🏆喝啤酒🍺和吃热狗🌭,我们把它们看作三个任务。
并发模式就是我一次只处理一个任务,我咬一口热狗,喝一口啤酒看一眼球赛任务交替进行。
并行模式就是我看着球赛喝着啤酒还同时吃着热狗,任务可以同时进行。就像这位小哥一样:
请添加图片描述
但这个例子并不准确,只是帮助理解。

并发

对于早期单核CPU来说,一个 CPU 在同一时间只能执行一个任务,当系统中有多个任务等待执行时,CPU 只能执行完一个再执行下一个。这导致 CPU 经常处于空闲状态,只能等待操作完成后才能继续执行后面的指令。

为了提高 CPU 利用率,减少等待时间,人们提出了一种 CPU 并发工作的理论。所谓并发,就是通过一种算法将 CPU 资源合理地分配给多个任务,有效避免了 CPU 被某个任务长期霸占的问题,极大地提升了 CPU 资源利用率。

虽然 CPU 在同一时刻只能执行一个任务,但是通过将 CPU 的使用权在恰当的时机分配给不同的任务,使得多个任务在视觉上看起来是一起执行的。CPU 的执行速度极快,多任务切换的时间也极短,用户根本感受不到,所以并发执行看起来才跟真的一样。

伪并发和真并发

伪并发是指单核处理器的并发。
真并发是指多核处理器的并发。

并行

并发是针对单核 CPU 提出的,而并行则是针对多核 CPU 提出的。和单核 CPU 不同,多核 CPU 真正实现了“同时执行多个任务”。

多核 CPU 内部集成了多个计算核心(Core),每个核心相当于一个简单的 CPU,如果不计较细节,你可以认为给计算机安装了多个独立的 CPU。

多核 CPU 的每个核心都可以独立地执行一个任务,而且多个核心之间不会相互干扰。在不同核心上执行的多个任务,是真正地同时运行,这种状态就叫做并行。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

orbitgw

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

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

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

打赏作者

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

抵扣说明:

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

余额充值