Lambda Expressions对多核系统有哪些优势?

Ged*_*bel 10 java lambda java.util.concurrent java-8

Lambda Expressions 的Java教程如下:

本节讨论Project Lambda中包含的功能,旨在通过向Java语言添加闭包和相关功能来支持多核环境中的编程.

我的问题是,根据多核系统和并发/并行编程,Lambda Expressions有哪些具体优势?

Bri*_*new 8

并行性很难实现,例如,如果你有一个集合,那么你实现了一个lambda:

collection.map { // my lambda }
Run Code Online (Sandbox Code Playgroud)

然后集合本身可以并行化该操作,而无需自己进行线程等.并行性在集合map()实现中处理.

在纯功能(即无副作用)系统中,您可以为每个lambda执行此操作.对于非纯函数环境,您必须选择适用的lambda(因为您的lambda可能无法并行安全运行).例如,在Scala中,您必须明确地对集合采用并行视图才能实现上述功能.


Edw*_*rzo 7

一些参考资料: