java 并行流水线_Java 将顺序流转换为并行流

Java 将顺序流转换为并行流,无论默认情况如何,用户希望创建顺序流(sequential stream)或并行流(parallel stream)。既可以使用 Collection 接口定义的 stream 或 parallelStream 方法,也可以使用 BaseStream 接口定义的 sequential 或 parallel 方法。

Java 将顺序流转换为并行流 问题描述

无论默认情况如何,用户希望创建顺序流(sequential stream)或并行流(parallel stream)。

Java 将顺序流转换为并行流 解决方案

既可以使用 Collection 接口定义的 stream 或 parallelStream 方法,也可以使用 BaseStream 接口定义的 sequential 或 parallel 方法。

Java 将顺序流转换为并行流 具体实例

默认情况下,Java 创建的流都是顺序流。在 BaseStream 接口(Stream 的父接口)中,可以通过 isParallel 方法判断流是否采用并行方式执行。

从例 9-1 可以看到,所有采用标准机制创建的流都是顺序流。

例 9-1 创建顺序流(JUnit 测试的一部分)

如果数据源为集合,可以通过 parallelStream 方法返回一个可能的并行流,如例 9-2 所示。

例 9-2 parallelStream 方法的应用

之所以强调“可能的”,是因为 parallelStream 方法在某些情况下也会返回顺序流,但默认返回的是并行流。Javadoc 指出,仅当创建自定义 spliterator 时才会返回顺序流,不过这种情况相当罕见。4

4毋庸置疑,这是一个有趣的话题。不过受篇幅所限&#

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值