Встречается на собеседованиях • сегодня
Какие знаешь проблемы с parallel в Stream API
Основные проблемы с `parallel()` в Stream API:
1. **Накладные расходы** - распараллеливание требует создания ForkJoinPool, что может съесть выгоду на маленьких данных. Пример:
```java
List smallList = Arrays.asList(1,2,3);
smallList.parallelStream() // Медленнее sequential!
```
2. **Порядок элементов** - terminal операции (`forEach`, `findAny`) могут нарушать порядок:
```java
IntStream.range(0,10).parallel().forEach(System.out::print); // 6032715489
```
3. **Потокобезопасность** - shared mutable state требует синхронизации:
```java
List unsafeList = new ArrayList<>();
IntStream.range(0,1000).parallel().forEach(unsafeList::add); // Race condition!
```
4. **Непредсказуемость** - зависит от количества ядер и ForkJoinPool.commonPool().
5. **Ограниченные операции** - некоторые операции (limit, findFirst) могут работать медленнее в parallel.
Лучше использовать только для CPU-bound задач с большими данными и thread-safe операциями. Всегда замеряйте производительность!

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы