atomic operation విభజించలేని విధంగా పూర్తవుతుంది — మరో thread అర్ధ-పూర్తి స్థితిని చూడదు; memory visibility అంటే ఒక thread యొక్క writes మరొకటి చూస్తుందా అనేది; memory barriers ఆ writes visible అయ్యేలా ordering ను enforce చేస్తాయి. Locks మాత్రమే ఆందోళన కాదు — memory model కూడా.
Atomicity
ఒక atomic op (ఉదా. fetch_add, compare-and-swap) ఒక విభజించలేని step గా execute అవుతుంది, కాబట్టి ఏ race దాన్ని విభజించదు. Hardware మరియు language పూర్తి lock లేకుండా counters మరియు flags కోసం atomics ను అందిస్తాయి.
();
counter.incrementAndGet();
