并发与并行的区别?

 

并发(concurrency)和并行(parallellism)是:

1:并行是指两个或者多个事件在同一时刻发生;而并发是指两个或多个事件在同一时间间隔发生。

2:并行是在不同实体上的多个事件,并发是在同一实体上的多个事件。

所以并发编程的目标是充分的利用处理器的每一个核,以达到最高的处理性能。

以下来自知乎用户对并行和并发的形容:

你吃饭吃到一半,电话来了,你一直到吃完了以后才去接,这就说明你不支持并发也不支持并行。

你吃饭吃到一半,电话来了,你停了下来接了电话,接完后继续吃饭,这说明你支持并发。

你吃饭吃到一半,电话来了,你一边打电话一边吃饭,这说明你支持并行。

并发的关键是你有处理多个任务的能力,不一定要同时。

并行的关键是你有同时处理多个任务的能力。

所以我认为它们最关键的点就是:是否是『同时』。

相关文章

© CopyRight 2013-2020 PHPKT.COM Inc.All Rights Reserved.    冀ICP备20001757号-1    模板设计 Power by 孙磊