Een atomic operation voltooit ondeelbaar — geen enkele andere thread ziet een half-afgemaakte toestand; memory visibility is of de writes van de ene thread door een andere gezien worden; memory barriers dwingen ordening af zodat die writes zichtbaar worden. Locks zijn niet de enige zorg — het geheugenmodel is dat ook.
Atomiciteit
Een atomic op (bijv. fetch_add, compare-and-swap) voert uit als één ondeelbare stap, zodat geen race hem splitst. Hardware en taal bieden atomics voor counters en flags zonder een volledige lock.
();
counter.incrementAndGet();
