gpt4 book ai didi

java - 一个 Stream 是否可以顺序处理一部分流水线,然后并行处理?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:21:37 24 4
gpt4 key购买 nike

我有以下代码无法按预期工作(跳过随机行,而不是第一行):

Files.lines(path)
.skip(1)
.parallel()
.forEach( System.out::println )

我感觉我误解了 Streams 的行为。问题是:我能否先将流视为顺序流(并使用“有状态的中间操作”),然后将其送入并行 forEach

最佳答案

整个管道要么是并行的,要么是顺序的。

尝试使用 forEachOrdered 而不是 forEach。在我的测试中,如果使用 forEachOrdered 它会跳过第一行(对于 forEach 它会跳过最后一行)。

forEach 忽略遇到的顺序,似乎也可以让其他操作忽略它。

关于java - 一个 Stream 是否可以顺序处理一部分流水线,然后并行处理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20640157/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com