并行流内部使用了默认的ForkJoinPool,它默认的线程数量就是你的处理器数量,这个值是由Runtime.getRuntime().availableProcessors()得到的。
但是可以通过系统属性java.util.concurrent.ForkJoinPool.common.parallelism来改变线程池大小,如下所示:
System.setProperty("java.util.concurrent.ForkJoinPool.common.parallelism","12");
这是一个全局设置,因此它将影响代码中所有的并行流.反过来说,目前还无法专门为某个并行流指定这个值.一般而言,让ForkJoinPool的大小等于处理器数量是个不错的默认值,除非有很好的理由,否则强力建议不要修改它.