1. Обзор
В Java 8 появился Stream API , который позволяет легко перебирать коллекции как потоки данных. Также очень легко создавать потоки, которые выполняются параллельно и используют несколько ядер процессора.
Можно подумать, что всегда быстрее разделить работу на большее количество ядер. Но это часто не так.
В этом руководстве мы рассмотрим различия между последовательными и параллельными потоками. Сначала мы рассмотрим пул fork-join по умолчанию, используемый параллельными потоками.
Мы также рассмотрим последствия использования параллельного потока для производительности, включая локальность памяти и затраты на разделение/слияние.
Наконец, мы порекомендуем, когда имеет смысл преобразовать последовательный поток в параллельный.