ParallelStream其实就是一个并行执行的流.它通过默认的ForkJoinPool,可能提高你的多线程任务的速度.
Stream具有平行处理能力,处理的过程会分而治之,也就是将一个大任务切分成多个小任务,这表示每个任务都是一个操作,因此像以下的程式片段:
List
list = (1, 2, 3, 4, 5);
().forEach(out::println);
你得到的展示顺序不一定会是1、2、3、4、5,而可能是任意的顺序,就forEach()这个操作來讲,如果平行处理时,希望最后顺序是按照原来Stream的数据顺序,那可以调用forEachOrdered()。
List
list = (1, 2, 3, 4, 5);
().forEachOrdered(out::println);