本文主要是介绍JDK8的ParallelStream遍历无序的问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
ParallelStream其实就是一个并行执行的流.它通过默认的ForkJoinPool,可能提高你的多线程任务的速度.
Stream具有平行处理能力,处理的过程会分而治之,也就是将一个大任务切分成多个小任务,这表示每个任务都是一个操作,因此像以下的程式片段:
List list = Arrays.asList(1, 2, 3, 4, 5);
list.parallelStream().forEach(out::println);
你得到的展示顺序不一定会是1、2、3、4、5,而可能是任意的顺序,就forEach()这个操作來讲,如果平行处理时,希望最后顺序是按照原来Stream的数据顺序,那可以调用forEachOrdered()。
List list = Arrays.asList(1, 2, 3, 4, 5);
list.parallelStream().forEachOrdered(out::println);
---------------------
作者:hzoboy
来源:CSDN
原文:https://blog.csdn.net/u011051912/article/details/77051335
版权声明:本文为博主原创文章,转载请附上博文链接!
这篇关于JDK8的ParallelStream遍历无序的问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!