Встречается на собеседованиях • сегодня

Сколько потоков использует по умолчанию параллельный Stream в Stream API

Параллельный Stream в Java использует по умолчанию количество потоков, равное Runtime.getRuntime().availableProcessors() - 1. Это значение берется из ForkJoinPool.commonPool(), который создается при старте JVM.

Пример:

java
System.out.println(Runtime.getRuntime().availableProcessors()); // например, 8
List.of(1, 2, 3).parallelStream().forEach(i -> {
    System.out.println(Thread.currentThread().getName()); // ForkJoinPool.commonPool-worker-N
});

Можно переопределить количество потоков, создав свой ForkJoinPool:

java
ForkJoinPool customPool = new ForkJoinPool(4);
customPool.submit(() -> list.parallelStream().forEach(...));
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы