并发与并行

并发与并行,虽然只差了一个字,但是还是有 很大区别。

我们经常看到并行计算,虽然并发计算也是有的,但提得要少一些。

一、并发(concurrency)和并行(parallellism)
1、解释
Rob Pike对此有经典描述:
并发是同一时间应对(dealing with)多件事情的能力;
并行是同一时间动手做(doing)多件事的能力。

这解释也许还很抽象,让你不太明白。那么请让你多背几遍,也许你就慢慢能体会了。

并发是问题域中的概念:程序需要被设计成能够同时处理多个同时(或几乎同时)发生的事情。
并行则是方法论的概念:通过将问题中的多个部分并行执行,来加速解决问题;

2、并行与串行
与并行应对应的是串行。并行的条件是有多个或一个独立执行块。

3、并发处理更前端的问题,为并行打下基础。

二、单核与多核

在单核的世界中,你并不拥有二个同时执行的能力。但多核的情况下,发生了变化。

《并发的艺术》:
“You can get concurrency on a single core processor using preemptive time-shared threads. But what you cannot achieve on a single core processor is parallelism.”

在单核的世界中,可以通过多线程来达“处理”并发的问题;但并不具备并行执行的能力。

这里我们先来看一下并发和并行的概念,我们知道并发是一个处理器同时处理多个任务,这里同时是逻辑上的,而并行同一时刻多个物理器同时执行不同指令,这里的同时物理上的。并发是要尽量在目前正在执行的任务遇到阻塞或者等待操作时,释放CPU,让其它任务得以调度,而并行则是同时执行不同任务而不相互影响。
原文链接:https://blog.csdn.net/BEYONDMA/article/details/119276097

这篇文章写得也不错,可以参考一下:

https://blog.csdn.net/zxw136511485/article/details/52813927

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值