Sobes.tech
Назад к вопросам
Junior — Middle
70

Каждый Parallel Stream использует отдельный пул потоков или общий для всех?

Компании, где спрашивали
ИннотехИннотех

Ответ от нейросети

sobes.tech AI

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

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

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

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