Parallel processing 函数式编程在并行计算中有什么好处?

Parallel processing 函数式编程在并行计算中有什么好处?,parallel-processing,functional-programming,programming-languages,Parallel Processing,Functional Programming,Programming Languages,有趣的是,有一些函数式编程语言,如Scala或Erlang,禁止更改变量值。 在类似并行计算的领域,这种限制带来了某些好处。学习这样一种语言(即使你不打算很快使用它)可以拓宽你的视野 所以我开始想知道它对并行计算有什么好处 Q:“它对并行计算有什么好处?” 因为两个代码执行路径都没有尝试更改任何变量,所以它更改变量值的次数越少,因此所有代码都可以从保证基本一致(根据其值(从未更改))、无冲突处理中获益 没有读/写一致访问变量的竞争(根据定义从未改变) 如果没有其他东西的话,这是代码执行路径流(根

有趣的是,有一些函数式编程语言,如Scala或Erlang,禁止更改变量值。 在类似并行计算的领域,这种限制带来了某些好处。学习这样一种语言(即使你不打算很快使用它)可以拓宽你的视野

所以我开始想知道它对并行计算有什么好处

Q:“它对并行计算有什么好处?”

因为两个代码执行路径都没有尝试更改任何变量,所以它更改变量值的次数越少,因此所有代码都可以从保证基本一致(根据其值(从未更改))、无冲突处理中获益

没有读/写一致访问变量的竞争(根据定义从未改变)

如果没有其他东西的话,这是代码执行路径流(根据定义是安全的)的一个很酷的属性,不是吗

Q:“它对并行计算有什么好处?”

因为两个代码执行路径都没有尝试更改任何变量,所以它更改变量值的次数越少,因此所有代码都可以从保证基本一致(根据其值(从未更改))、无冲突处理中获益

没有读/写一致访问变量的竞争(根据定义从未改变)


如果没有其他东西,这对于代码执行路径的(按定义是安全的)
[PARALLEL]
流来说是一个很酷的属性,不是吗?

编译器需要添加线程池来调度程序中的所有函数吗?或者编译器不需要对线程做任何事情,多核CPU将通过CPU的自然架构自动运行应用程序?@linrongbin显然,编译器阶段无法知道一个代码执行目标平台将有多少核,是吗?对于细节,我们必须深入研究特定函数式语言编译器的设计与实现。有代码方面的文档记录了哪些与硬件相关的假设和工程工作曾经或没有投入到实际的函数式语言表达的问题转换中,以及由此产生的代码执行规划和调度编译器需要添加线程池来调度程序中的所有函数吗?或者编译器不需要做任何事情关于线程,多核CPU将通过CPU的自然架构自动运行应用程序?@linrongbin显然,编译器阶段无法知道一个代码执行目标平台将有多少核,是吗?对于细节,我们必须深入研究特定函数式语言编译器的设计与实现。有代码方面的文档记录了哪些硬件相关假设和工程工作被或未被投入到实际的功能语言表达的问题转换中,以及由此产生的代码执行规划和调度