我想并行化使用 parallelStream 截断的以下代码:
boolean anyTrue() {
for (Element e : setOfE) {
if (eval(e)) {
return true;
}
}
return false;
}
以下是否适用于并行流并使用常规短路评估?
setOfE.parallelStream().map(e -> eval(e)).reduce(false, (a,b) -> a || b))
最佳答案
Streams API 实际上为您的要求提供一流的支持:
setOfE.parallelStream().anyMatch(e -> eval(e));
与您使用 reduce
的方法相反,这可以保证进行短路评估并以最佳方式利用并行性。
关于java - boolean 值流,是真的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26304858/