我在[How to dynamically do filtering in Java 8?]问了一个关于使用Java 8进行动态过滤的问题,Stuart Marks非常好地回答了这个问题并提供了一些示例代码来测试:https://gist.github.com/stuart-marks/10076102。
由于我是Java 8的新手,所以我想知道以下几行是否会使程序在需要处理大量数据的多核工作站上运行得更快,至少在理论上是这样的:
// widgetList.stream().filter(compositePredicate).forEach(System.out::println);
widgetList.parallelStream().filter(compositePredicate).forEach(System.out::println);
// compositeCriteria.apply(widgetList.stream()).forEach(System.out::println);
compositeCriteria.apply(widgetList.parallelStream()).forEach(System.out::println);
将“widgetList.stream()”与“widgetList.parallelStream()”相关联会加速这个过程吗?
答案 0 :(得分:2)
最好的方法是测试它。但请注意:
System.our.println
是一种同步方法,因此终端操作基本上是顺序的