[翻译]并发(Concurrency) vs 并行(Parallelism)

并行,是关于通过同时执行多计算,使得程序运行更快的技术。
这需要硬件支持多处理单元。大多数情况下,子计算具有相同结构,
但这并不是必需的。在GPU上面进行图形计算是并行。并行的关键问题是减少数据之间的依赖性,而减少数据之间的依赖性目的是在它们之间使用最小的通信在独立计算单元上面执行计算任务。为此,甚至这样子有利于在不同的计算单元上面执行相同的计算。

并发,是关于使程序具有更高可用性的技术。并发可以在单处理单元实现并且经常被使用,不过就速度而言,在多处理单元中,并发可以从中获益。假如一个操作系统是多任务操作系统,它就是支持并发的代名词。假如你可以在你的浏览器标签中不断地加载多个文档,并且你还依然可以打开菜单又可以执行其他操作,这就是并发。

如果你在后台运行这分布式网络计算的同时前台还正在和交互式应用进行交互,那也是并发。另一方面,将一项任务分割成可以被分布式网络客户端进行计算的包,这是并行。

Reference

Concurrency vs Parallelism

-- EOF --