Java8 parallelStream 使用

关于 Java8 中的 Stream,请参见 Java8 Stream 使用

parallelStream 其实就是一个并行执行的流。它通过默认的 ForkJoinPool,处理的过程会分而治之,也就是将一个大任务切分成多个小任务,可能提高你的多线程任务的速度。

例如:如下代码不一定会按照1到5的顺序输出,可能是任意的顺序。

List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
numbers.parallelStream()
        .forEach(System.out::println);

stream or parallelStream

  • 是否需要并行?
  • 任务之间是否是独立的?是否会引起任何竞态条件?
  • 结果是否取决于任务的调用顺序?

引用:
深入浅出parallelStream

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,463评论 19 139
  • Java8 in action 没有共享的可变数据,将方法和函数即代码传递给其他方法的能力就是我们平常所说的函数式...
    铁牛很铁阅读 5,013评论 1 2
  • Streams 原文链接: Streams 原文作者: shekhargulati 译者: leege100 状态...
    忽来阅读 10,845评论 3 32
  • 高并发平台架构 设计理念 1. 空间换时间 多级缓存,静态化前端页面缓存(HTTP Header中包含Expire...
    AkaTBS阅读 8,119评论 0 13
  • 凄风冷雨天, 衰草落红前。 老病愁无力, 余生去寄闲。
    三生有幸之遇见阅读 1,924评论 1 9