Une opération atomique se termine de façon indivisible — aucun autre thread ne voit un état à moitié fait ; la visibilité mémoire, c'est de savoir si les écritures d'un thread sont vues par un autre ; les barrières mémoire imposent un ordre pour que ces écritures deviennent visibles. Les verrous ne sont pas la seule préoccupation — le modèle mémoire l'est aussi.
Atomicité
Une opération atomique (par ex. fetch_add, compare-and-swap) s'exécute en une seule étape indivisible, de sorte qu'aucune race ne la scinde. Le matériel et le langage fournissent des atomiques pour les compteurs et les drapeaux sans verrou complet.
();
counter.incrementAndGet();
