并发与并行的区别
作者:
Laura McKinney
创建日期:
1 四月 2021
更新日期:
1 七月 2024
![一个视频告诉你并发、并行、异步、同步的区别](https://i.ytimg.com/vi/I3E4MHTpABA/hqdefault.jpg)
内容
并发和并行性是相关的术语,但不相同,并且经常被误认为是相似的术语。并发与并行性之间的关键区别在于 并发 是关于同时处理很多事情(给人一种同时性的幻想)或处理并发事件,这些事件本质上隐藏了延迟。反之,并行性 是关于同时做很多事情以提高速度。
并行执行的进程必须是并行的,除非它们在同一时刻进行操作,但是并行执行的进程永远不能是并行的,因为它们不是在同一时刻进行处理的。
- 比较表
- 定义
- 关键差异
- 结论
比较表
比较依据 | 并发 | 平行性 |
---|---|---|
基本的 | 它是同时管理和运行多个计算的行为。 | 它是同时运行多个计算的动作。 |
通过实现 | 交错操作 | 使用多个CPU |
好处 | 一次完成的工作量增加。 | 吞吐量提高,计算速度加快 |
利用 | 骗局切换 | 多个CPU用于运行多个进程。 |
所需处理单位 | 大概单身 | 多 |
例 | 同时运行多个应用程序。 | 在群集上运行Web搜寻器。 |
并发的定义
并发 是一种用于减少 响应时间 使用单个处理单元的系统或 顺序处理。任务分为多个部分,并且该部分同时处理,但不能同时处理。它产生了并行性的错觉,但是实际上任务的大块不是并行处理的。并发是通过 交织 CPU上进程的操作,换句话说就是通过con切换,即在进程的不同线程之间快速切换控件,并且无法识别切换。这就是它看起来像并行处理的原因。
并发传递 多方访问 共享资源,并需要某种形式的交流。当它正在执行任何有用的进度时,它将在线程上工作,然后停止该线程并切换到其他线程,除非正在进行任何有用的进度。
并行性的定义
平行性 被设计用于增加 计算速度 通过使用多个处理器。它是一种在同一时刻同时执行不同任务的技术。它涉及几个独立的计算处理单元或计算设备,它们并行运行并执行任务,以提高计算速度并提高吞吐量。
并行导致一个进程中的CPU和I / O活动与另一进程中的CPU和I / O活动重叠。实施并发时,通过将一个进程的I / O活动与另一个进程的CPU进程重叠来提高速度。
- 并发是同时运行和管理多个任务的行为。另一方面,并行性是同时运行各种任务的行为。
- 通过使用多个CPU(例如多处理器系统)并在这些处理单元或CPU上运行不同的进程来获得并行性。相反,并发是通过交错处理CPU上的进程,特别是进行转换来实现的。
- 并发可以通过使用单个处理单元来实现,而在并行情况下则不可能实现,它需要多个处理单元。
结论
总之,并发性和并行性并不完全相同,可以区分。并发可能涉及运行和具有不同任务 重叠时间。另一方面,并行性涉及同时运行的不同任务,并且往往具有相同的任务 开始 和 结尾 时间.