我想并行化使用 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))
原文由 S1lentSt0rm 发布,翻译遵循 CC BY-SA 4.0 许可协议
Streams API 实际上为您的要求提供了一流的支持:
与您使用
reduce
的方法相反,这保证具有短路评估和最佳利用并行性。