并行流-使用的线程池

Dcr 1年前 ⋅ 786 阅读

  并行流内部使用了默认的ForkJoinPool,它默认的线程数量就是你的处理器数量,这个值是由Runtime.getRuntime().availableProcessors()得到的。

  但是可以通过系统属性java.util.concurrent.ForkJoinPool.common.parallelism来改变线程池大小,如下所示:

System.setProperty("java.util.concurrent.ForkJoinPool.common.parallelism","12");

  这是一个全局设置,因此它将影响代码中所有的并行流.反过来说,目前还无法专门为某个并行流指定这个值.一般而言,让ForkJoinPool的大小等于处理器数量是个不错的默认值,除非有很好的理由,否则强力建议不要修改它.

全部评论: 0

    我有话说: