解析Stream foreach源码

解析Stream foreach源码

摘要:串行流比较简单,对于parallelStream,站在它背后的是ForkJoin框架。

本文分享自华为云社区《深入理解Stream之foreach源码解析》,作者:李哥技术 。

前言

Stream中的操作可以分为两大类:中间操作与结束操作。

今天要说的foreach是属于结束操作。

Stream流操作从并发上来分类,又可以分为并行流和串行流,今天就来刨根问底的看看吧。

foreach串行流

foreach并行流

从目前来看,parallelStream(并行流)与stream(串行流)的区别仅仅是一个变量而已。别着急,让我们继续往下看。

记住这里的ordered是false,因为是并行流,不可能是有序遍历。continue。

我们来简单分析一下ForEachTask类,它继承于CountedCompleter。

static final class ForEachTask<S, T> extends CountedCompleter<Void> {
}
hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » 解析Stream foreach源码