Egy atomi művelet oszthatatlanul fejeződik be — egyetlen másik thread sem lát félkész állapotot; a memory visibility az, hogy az egyik thread írásait látja-e egy másik; a memory barrierek kikényszerítik a sorrendet, hogy azok az írások láthatóvá váljanak. A lockok nem az egyetlen aggály — a memóriamodell is az.
Atomicitás
Egy atomi művelet (pl. fetch_add, compare-and-swap) egyetlen oszthatatlan lépésként hajtódik végre, így semmilyen race nem hasítja szét. A hardver és a nyelv atomicokat biztosít számlálókhoz és flagekhez teljes lock nélkül.
();
counter.incrementAndGet();
