我知道我们可以使用-Djava.util.concurrent.ForkJoinPool.common.parallelism来设置并行度,但是它有任何上限吗?
答案 0 :(得分:2)
通过查看ForkJoinPool
的源代码,我找到了
MAX_CAP = 0x7fff; // max #workers - 1
在使用构造函数ForkJoinPool(int)
时通过在尝试指定更多时抛出异常来强制执行。但是,当使用系统属性java.util.concurrent.ForkJoinPool.common.parallelism
来配置公共池的并行性时,您可以安全地指定更多(最多Integer.MAX_VALUE
),它将默默地减少到支持的最大值。