相关疑难解决方法(0)

ForkJoinPool 大小动态增加?

相关:ParallelStream 上的 CompletableFuture 被批处理并且运行速度比顺序流慢?

我正在研究通过 parallelStream 和 CompletableFutures 并行化网络调用的不同方法。因此,我遇到过这种情况,Java 的 parallelStream 使用的 ForkJoinPool.commonPool() 的大小动态增长,从 ~ #Cores 到最大值 64。

爪哇细节: $ java -version

openjdk version "11.0.10" 2021-01-19
OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.10+9)
OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.10+9, mixed mode)
Run Code Online (Sandbox Code Playgroud)

显示这种行为的代码如下(完整的可执行代码在这里

openjdk version "11.0.10" 2021-01-19
OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.10+9)
OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.10+9, mixed mode)
Run Code Online (Sandbox Code Playgroud)

示例输出:

16:07:17.443 [pool-2-thread-7] INFO  generalworks.parallelism.DummyProcess -  44 going to sleep. poolsize: 11
16:07:17.443 [pool-2-thread-9] INFO  generalworks.parallelism.DummyProcess …
Run Code Online (Sandbox Code Playgroud)

java parallel-processing multithreading forkjoinpool java-stream

3
推荐指数
1
解决办法
112
查看次数