ASi

ThreadPoolExecutor

corePoolSize と maximumPoolSize を指定するが、、、

こういう生成をすると同時実行数が1になってしまう。10にはならない。理由は LinkedBlockingQueue を使う場合 max は効果がないから。

new ThreadPoolExecutor(
    0, 10, 3, TimeUnit.SECONDS, new LinkedBlockingQueue<>())

これが正しい。

new ThreadPoolExecutor(
    10, 10, 3, TimeUnit.SECONDS, new LinkedBlockingQueue<>())