并行Stream中可以使用的最大进程数是多少

时间:2015-02-24 11:20:03

标签: java-8

我知道我们可以使用-Djava.util.concurrent.ForkJoinPool.common.parallelism来设置并行度,但是它有任何上限吗?

1 个答案:

答案 0 :(得分:2)

通过查看ForkJoinPool的源代码,我找到了

的定义
MAX_CAP    = 0x7fff;  // max #workers - 1

在使用构造函数ForkJoinPool(int)时通过在尝试指定更多时抛出异常来强制执行。但是,当使用系统属性java.util.concurrent.ForkJoinPool.common.parallelism来配置公共池的并行性时,您可以安全地指定更多(最多Integer.MAX_VALUE),它将默默地减少到支持的最大值。