Sebuah operasi atomik selesai secara tak terpisahkan — tidak ada thread lain yang melihat keadaan setengah jadi; visibilitas memory adalah apakah penulisan satu thread terlihat oleh thread lain; memory barrier memaksakan urutan sehingga penulisan itu menjadi terlihat. Lock bukan satu-satunya perhatian — memory model juga.
Atomisitas
Sebuah operasi atomik (misalnya fetch_add, compare-and-swap) dieksekusi sebagai satu langkah yang tak terpisahkan, sehingga tidak ada race yang memecahnya. Hardware dan bahasa menyediakan atomic untuk counter dan flag tanpa lock penuh.
();
counter.incrementAndGet();
