Атомарная операция завершается неделимо — ни один другой поток не видит наполовину сделанное состояние; видимость памяти — это то, видит ли один поток записи другого; барьеры памяти навязывают упорядочивание, чтобы эти записи стали видимыми. Блокировки — не единственная забота, модель памяти тоже.
Атомарность
Атомарная операция (например, fetch_add, compare-and-swap) выполняется как один неделимый шаг, поэтому никакая гонка её не расщепляет. Оборудование и язык предоставляют атомики для счётчиков и флагов без полной блокировки.
();
counter.incrementAndGet();
