Sobes.tech
Junior — Middle
101

Fiecare Stream Paralel folosește un pool de fire separat sau unul comun pentru toți?

Companiile au fost întrebate
ИннотехИннотех

Răspuns de la AI

sobes.tech AI

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

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

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

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