gpt4 book ai didi

java - 对于 Stream.generate(foo).parallel(),foo 必须是线程安全的吗?

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:06:04 25 4
gpt4 key购买 nike

我正在使用 Java 8 Streams。我有一个自定义函数 foo(),它生成一个对象,我想并行流式传输它创建的对象。我知道 foo() 不是线程安全的。

如果我写Stream.generate(foo).parallel()foo()会被异步调用吗? IE。对象会串行生成并传递给并行线程,还是多个线程会根据需要通过调用 foo() 生成对象?

最佳答案

供应商将从多个线程调用,您可以通过快速实验观察到:

Stream.generate(() -> Thread.currentThread().getId())
.parallel()
.limit(100000)
.distinct()
.forEach(System.out::println);

关于java - 对于 Stream.generate(foo).parallel(),foo 必须是线程安全的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47706288/

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