Поскольку использование реализацией Stream пула Fork / Join является деталью реализации, уловка, заставляющая его использовать другой пул Fork / Join, также не документирована и, кажется, работает случайно, то есть существует жестко закодированный константа , определяющая фактический параллелизм, в зависимости от параллелизма пула по умолчанию. Поэтому использование другого пула изначально не предусматривалось.
Однако было признано, что использование другого пула с неуместным целевым параллелизмом является ошибкой, даже если этот прием не задокументирован, см. JDK -8190974 .
Это было исправлено в Java 10 и перенесено в Java 8, обновление 222.
Так что простым миром решений будет обновление Java версии.
Вы также можете изменить параллелизм пула по умолчанию, например,
System.setProperty("java.util.concurrent.ForkJoinPool.common.parallelism", "100");
перед выполнением любого действия Fork / Join.
Но это может иметь непредвиденные последствия для других параллельных операций.