IntStream,什么时候才真正使用sequential()方法
IntStream, when should I really use sequential() method
当我这样做时:
IntStream i = IntStream.of(5,6,7,1,2,3,4);
//IntStream o = i.sequential();
i.forEach(System.out::println);
无论我调用 sequential 还是 not.Then sequential() 方法的用例是什么。
假设我在多核机器上处理数百万个整数,除非我调用 sequential(),jvm 是否有可能尝试并行处理?
如 IntStream.of
的 javadoc 中所述,该方法 returns 是一个顺序流。所以sequential
方法不会有任何效果。
在官方文档中了解有关顺序流和并行流的更多信息:https://docs.oracle.com/javase/8/docs/api/java/util/stream/package-summary.html。
例如,当您有并行流时:
IntStream i = IntStream.of(5, 6, 7, 1, 2, 3, 4);
i.parallel();
i = i.sequential();
i.forEach(System.out::println);
总是 return 5, 6, 7, 1, 2, 3, 4
但是当你去掉i.sequential()时,你可以得到其他的结果,因为它是并行运行的。
当我这样做时:
IntStream i = IntStream.of(5,6,7,1,2,3,4);
//IntStream o = i.sequential();
i.forEach(System.out::println);
无论我调用 sequential 还是 not.Then sequential() 方法的用例是什么。
假设我在多核机器上处理数百万个整数,除非我调用 sequential(),jvm 是否有可能尝试并行处理?
如 IntStream.of
的 javadoc 中所述,该方法 returns 是一个顺序流。所以sequential
方法不会有任何效果。
在官方文档中了解有关顺序流和并行流的更多信息:https://docs.oracle.com/javase/8/docs/api/java/util/stream/package-summary.html。
例如,当您有并行流时:
IntStream i = IntStream.of(5, 6, 7, 1, 2, 3, 4);
i.parallel();
i = i.sequential();
i.forEach(System.out::println);
总是 return 5, 6, 7, 1, 2, 3, 4 但是当你去掉i.sequential()时,你可以得到其他的结果,因为它是并行运行的。