gpt4 book ai didi

parallel-processing - 并发程序、并行程序和分布式程序的区别

转载 作者:行者123 更新时间:2023-12-04 08:08:56 24 4
gpt4 key购买 nike

我只是在学习编程结构;特别是我正在学习并发程序。我遇到了几篇文章,其中并发程序、并行程序和分布式程序之间的区别似乎令人困惑。

我的理解如下:

并发程序:同时执行多个任务或给出这样做的概念

并行程序:解决此类问题的算法允许同时执行一些相关的任务

分布式程序:更多地与可用资源有关,而不是相应算法中的固有并行性。有不止一种计算资源可用于解决问题。

有人可以指出我对这些术语的正确和详细解释吗?

最佳答案

这些术语确实相关,有时重叠:
并行编程是并发编程的一个子集,旨在使用多个并发执行的实体(线程、进程)来加速某些计算。
分布式计算是一个非常广泛的话题,正如您所说,它侧重于使用资源来解决问题。这些资源可以在同一台机器上,也可以在地理上分散或异构。很难在并行计算和分布式计算之间划清界限。并行计算可能是分布式的,也可能不是分布式的,这取决于所使用的资源,而分布式计算可能会或可能不会用于并行解决问题。

在我看来,这些术语之间的细微区别来自考虑它们的抽象层。当主要关注点是独立计算实体在一些共享数据上的交互时,我们谈论并发编程。当关键方面是通过使用多个计算单元来加速计算时,我们就有了并行计算。最后,如果重点是管理资源以解决某些问题的方式,那么我们谈论的是分布式计算。

关于parallel-processing - 并发程序、并行程序和分布式程序的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7774013/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com