Параллельные потоки в Java 8 дают прирост производительности, но требуют значительных затрат на координацию потоков. Они работают лучше всего в конкретных ситуациях.
Среда выполнения имеет значение: Используй параллельные потоки только когда приложение уже не работает в многопоточной среде. Добавление параллельных потоков к коду, который уже использует несколько тредов, может серьёзно снизить производительность из-за конкуренции за ресурсы и накладных расходов.
Перед использованием параллельных потоков внимательно оцени:
Достаточно ли большой набор данных?
Занимает ли каждая операция достаточно времени?
Я в однопоточном контексте?
Измерил ли я производительность последовательного выполнения как базовый ориентир?
Параллельные потоки — не универсальное решение для производительности. Они отлично показывают себя при обработке больших объёмов независимых, долгих операций в однопоточных контекстах, но могут быть контрпродуктивны в многопоточных средах, где затраты на координацию тредов превышают вычислительный выигрыш.
Параллельные потоки следует использовать каждый раз при обработке больших наборов данных, независимо от того, работает ли приложение уже в многопоточной среде.
Новый — ещё не проверен сообществом
Вы