Sobes.tech
Junior — Middle
102

Da li svaki paralelni tok koristi poseban ili zajednički bazen niti za sve?

Компаније где су питане
ИннотехИннотех

Одговор од АИ

sobes.tech АИ

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

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

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

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