Java8 parallelStream 使用

关于 Java8 中的 Stream,请参见 Java8 Stream 使用

parallelStream 其实就是一个并行执行的流。它通过默认的 ForkJoinPool,处理的过程会分而治之,也就是将一个大任务切分成多个小任务,可能提高你的多线程任务的速度。

例如:如下代码不一定会按照1到5的顺序输出,可能是任意的顺序。

List numbers = Arrays.asList(1, 2, 3, 4, 5);
numbers.parallelStream()
        .forEach(System.out::println);

stream or parallelStream

  • 是否需要并行?
  • 任务之间是否是独立的?是否会引起任何竞态条件?
  • 结果是否取决于任务的调用顺序?

引用:
深入浅出parallelStream

你可能感兴趣的:(Java8 parallelStream 使用)