概述
并行流
我们可以通过对收集源调用parallelStream方法来把集合转换为并行流。并行流就是一个把内容分成多个数据块,并用不同的线程分别处理每个数据跨的流。
并行流背后使用的基础架构是分支/合并框架。
分支/合并框架
分支/合并框架的目的是以递归的方式将可以并行的任务拆分成更小的任务,然后将每个子任务的结果合并起来生成整体结果。
使用RecursiveTask
工作窃取
Spliterator
Spliterator是Java 8中加入的另一个新接口;这个名字代表“可分迭代器”。和Iterator一样,Spliterator也用于遍历数据源中的元素,但它是为了并行执行而设计的。Java 8已经为集合框架中包含的所有数据结构提供了一个默认的Spliterator实现。