একটি atomic operation অবিভাজ্যভাবে সম্পূর্ণ হয় — অন্য কোনো thread একটি অর্ধ-সম্পন্ন state দেখে না; memory visibility হলো একটি thread-এর write অন্যটি দ্বারা দেখা হয় কিনা; memory barrier ordering প্রয়োগ করে যাতে সেই write-গুলো দৃশ্যমান হয়। Lock একমাত্র উদ্বেগ নয় — memory model-ও।
Atomicity
একটি atomic op (যেমন fetch_add, compare-and-swap) একটি অবিভাজ্য ধাপ হিসেবে execute হয়, তাই কোনো race এটি ভাগ করে না। Hardware ও language একটি পূর্ণ lock ছাড়াই counter ও flag-এর জন্য atomic প্রদান করে।
();
counter.incrementAndGet();
