排比

Simon Marlow 的书“ Haskell 中的并行和并行编程”非常出色,涵盖了众多概念。即使是最新的 Haskell 程序员,它也非常容易访问。强烈推荐,PDF 或在线免费提供。

并行与并发

Simon Marlow 说得最好

并行程序是使用多个计算硬件(例如,若干处理器核)来更快地执行计算的程序。目的是通过将计算的不同部分委托给同时执行的不同处理器来更早地得出答案。

相比之下,并发性是一种程序结构化技术,其中存在多个控制线程。从概念上讲,控制线程同时执行; 也就是说,用户看到他们的效果是交错的。它们是否实际同时执行是一个实现细节; 并发程序可以通过交叉执行或在多个物理处理器上在单个处理器上执行。

弱头正常形式

重要的是要了解懒惰评估的工作原理。本章的第一部分将对 WHNF 及其与并行和并发编程的关系进行深入介绍。