Sobes.tech
Junior — Middle
95

Chaque flux parallèle utilise-t-il un pool de threads séparé ou commun pour tous?

Entreprises à qui on a demandé
ИннотехИннотех

Réponse de l'IA

sobes.tech IA

Все параллельные стримы (Parallel Streams) в Java по умолчанию используют общий пул потоков — ForkJoinPool.commonPool(). Это значит, что несколько параллельных стримов будут разделять один и тот же пул потоков.

Если необходимо использовать отдельный пул для конкретного параллельного стрима, можно создать свой ForkJoinPool и выполнить стрим внутри его контекста:

ForkJoinPool customThreadPool = new ForkJoinPool(4);
customThreadPool.submit(() -> {
    list.parallelStream()
        .forEach(...);
}).get();

Таким образом, по умолчанию пул общий, но при необходимости можно задать отдельный.