Кроме блокировок, Java Concurrent может предложить еще одну интересную функцию - параллельные аккумуляторы.
LongAccumulator обновляет значение, используя предоставленную функцию. Это позволяет нам реализовать алгоритм без блокировок в ряде сценариев. Обычно это предпочтительнее чем AtomicLong, когда несколько потоков обновляют общее значение.Для того чтобы создать аккумулятор, вам нужно указать в конструкторе два аргумента. Первый из них - это функция, используемая для вычисления результата аккумулятора. Обычно это метод
sum. Второй параметр указывает начальное значение нашего аккумулятора.Теперь давайте создадим
LongAccumulator с начальным значением 10000а затем вызовем метод accumulate() из нескольких потоков.#для_продвинутых
