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

Какие знаешь проблемы с 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 операциями. Всегда замеряйте производительность!
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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