【发布时间】:2017-12-24 13:53:43
【问题描述】:
就 Java 1.8 而言,顺序流和并行流之间的功能区别是什么,输出将如何受到影响?
以及在哪些场景中选择并行或顺序流?
Java中顺序流和并行流的处理方法有什么区别?!!
我已经尝试在sn-p下面用少量数据测试它,我没有得到任何异常的输出差异。!!
ArrayList<Integer> arrayList = new ArrayList<>();
for(int i = 1; i <= 100;i++) arrayList.add(i);
arrayList.stream().filter(l -> l > 90).forEach(l -> System.out.println(l));
arrayList.parallelStream().filter(l -> l > 90).forEach(l -> System.out.println(l));
【问题讨论】:
-
parallelStream 可帮助您将处理分配到多个内核。您需要检查系统上的并行度:System.setProperty("java.util.concurrent.ForkJoinPool.common.parallelism", "20")。更多信息请参考link
标签: java lambda java-8 functional-programming java-stream