发布于

每位开发人员都应该知道的知识: 并发性并不等同于并行性

作者

Please provide the text you would like me to translate.

Image

在系统设计中,了解并发和并行的区别非常重要。

正如Rob Pyke(GoLang的创始人之一)所说:“并发是关于同时处理很多事情。并行是关于同时做很多事情。” 这种区别强调了并发更多的是关于程序的设计,而并行更多的是关于执行。

并发是关于同时处理多个事物。它涉及结构化程序以同时处理多个任务,其中任务可以在重叠的时间段内启动、运行和完成,但不一定在同一时刻。

并发是关于独立执行的进程的组合,并描述了程序通过在不完成一个任务之前启动另一个任务来管理多个任务的能力。

另一方面, 并行是指多个计算的同时执行。它是使用计算机中的多个处理器或核心同时运行两个或多个任务或计算的技术。并行需要具有多个处理单元的硬件,其主要目标是增加系统的吞吐量和计算速度。

在实际应用中, 并发使程序能够对输入保持响应,执行后台任务,并以看似同时的方式处理多个操作,即使在单核处理器上。它在I/O绑定和高延迟操作中特别有用,在这些操作中,程序需要等待外部事件,例如文件、网络或用户交互。

并行具有同时执行多个操作的能力,对于计算速度和吞吐量是瓶颈的CPU绑定任务至关重要。需要大量数学计算、数据分析、图像处理和实时处理的应用程序可以从并行执行中受益。

请注意,中文版本是由 AI 辅助翻译的,因此可能存在细微错误。

作者

Ai Base Network (ABN), ABN ASIA由具有深厚学术背景的人员创立,他们在美国、荷兰、匈牙利、日本、韩国、新加坡和越南等国家有工作经验。ABN Asia是学术界和技术相遇的地方。凭借我们领先的解决方案和优秀的软件开发服务,我们帮助企业提升水平,走向全球舞台。我们的承诺:更快。更好。更可靠。在大多数情况下:也更便宜。

无论您需要IT服务、数字咨询、现成软件解决方案,还是想向我们发送招标要求(RFPs),都请随时与我们联系。您可以通过[email protected]与我们联系。我们随时准备为您提供所有技术需求的帮助。

ABNAsia.org

© ABN ASIA