Atomic operation अविभाज्य रूपमा पूरा हुन्छ — अरू कुनै thread ले आधा-भएको state देख्दैन; memory visibility भनेको एउटा thread का writes अर्कोले देख्छ कि देख्दैन भन्ने हो; memory barriers ले ordering लागू गर्छन् ताकि ती writes देखिने होऊन्। Locks मात्र चिन्ता होइन — memory model पनि हो।
Atomicity
Atomic op (जस्तै fetch_add, compare-and-swap) एउटै अविभाज्य चरणका रूपमा execute हुन्छ, त्यसैले कुनै race ले यसलाई विभाजित गर्दैन। Hardware र language ले counters र flags का लागि पूर्ण lock बिना atomics दिन्छन्।
();
counter.incrementAndGet();
