Я вижу, как Java AtomicInteger работает внутри с CAS (Compare and Swap). В основном, когда несколько потоков пытаются обновить значение, JVM внутренне использует базовый механизм CAS и пытается обновить значение. Если обновление не удалось, повторите попытку с новым значением, но никогда не блокируйте.
В Java8 Oracle представил новый класс LongAdder, который, по-видимому, работает лучше, чем AtomicInteger. Некоторые сообщения в блоге утверждают, что LongAdder лучше работает, поддерживая внутренние ячейки. Значит ли это, что LongAdder агрегирует значения внутри и обновляет их позже? Не могли бы вы помочь мне понять, как работает LongAdder?