并发与并行

总结

介绍了并发与并行的概念,并对比学习。

快速记忆

  • 并发 ≠ 同时,而是交错;并行 = 同时,需靠多核。
  • 并发是一种让多个任务看似“同时”进行的机制,其实质是任务之间快速切换,适用于资源有限但需要高效利用的场景。

概念

并发(Concurrency)

  • 定义: 多个任务在同一时间段内被处理。(注意:时间段)
  • 本质: 在单核处理器上,操作系统通过上下文切换(context switching)在不同任务之间快速切换,给人一种同时执行的错觉。
  • 特点:
    • 多个任务交替执行,共享系统资源。
    • 任务执行顺序不确定。
    • 提高系统利用率,但单个任务的执行速度可能变慢。

形象比喻: 一个人同时处理多个任务(如做饭 + 接电话)

并行(Parallelism)

  • 定义: 多个任务在同一时刻被多个处理器同时执行。
  • 本质: 需要多个物理核心或处理器。
  • 特点:
    • 多个任务同时执行,每个任务都有独立的资源。
    • 任务执行顺序确定。
    • 大大提高系统吞吐量,但需要更多的硬件资源。

形象比喻: 多人一起做一件事(如多人拼图)。

并发 vs 并行(Concurrency vs Parallelism)

比较项 并发(Concurrency) 并行(Parallelism)
定义 多个任务在同一时间段内推进 多个任务同时执行(物理上真正的同时)
实现平台 单核或多核均可 必须多核或分布式系统
目标 管理多个任务的进展,提升响应性和吞吐量 加快整体任务完成速度
类比 一个人同时处理多个任务(如做饭 + 接电话) 多人一起做一件事(如多人拼图)

并发不等于并行,但并行可以看作是并发的一种特殊形式(当有足够硬件资源时)。


文章作者: huan
版权声明: 本博客所有文章除特別声明外,均采用 CC BY-NC-ND 4.0 许可协议。转载请注明来源 huan !
  目录