还有另一个标题为"功能并行性的编程语言:f#vs haskell",其中操作说明"功能编程"具有不可变的数据结构,没有固有适合并行编程的副作用。"
乔恩·哈罗普(Jon Harrop)在回答中说:"平行性仅是关于性能和纯度的效果。因此,如果您的目标是获得体面的表现,那么纯粹的功能编程就不是一个好的起点。"
> 。"好吧,我不打算进入功能编程是否真正提高性能;看来这是一个实施问题。我感兴趣的是概念层面:
易于并行化所需的"不变数据"one_answers"免于副作用"?它们是足够的条件还是必要的条件?它们是否需要保证数据独立性或通勤性?赞赏学术文献的参考。
易于并行化所需的"不变数据"one_answers"免于副作用"?
可以从另一个线程中观察到的数据突变是副作用,因此仅仅从副作用中的自由就足够了。:)
它们是否足够或必要的条件?
条件是什么?
这些不是使用并行性的不是的前提。所谓的就是使事情变得更容易。
看,就像有人说: java天生适合避免缓冲区超支的编程,因为它没有(可操作的)指针。
这并不意味着您不能编写不会在C中覆盖其缓冲区的程序。这样做很难。