Недавно я читал учебник, в котором я встретил выражение, в котором говорится.
"Спецификация языка Java гарантирует, что чтение или запись переменной является атомной операцией (если только переменная не имеет тип long
или double
). Операционные переменные типа long
или double
являются только атомарными, если они объявлены с ключевым словом volatile
.
AtomicInteger
или AtomicLong
, который предоставляет методы, такие как getAndDecrement()
, getAndIncrement()
и getAndSet()
, которые являются атомарными.
Я немного смутился с вышеупомянутым утверждением.. и не могли бы вы прояснить , когда использовать классы AtomicInteger
или AtomicLong
.