ატომური ოპერაცია სრულდება განუყოფლად — ვერცერთი სხვა thread ვერ ხედავს ნახევრად შესრულებულ მდგომარეობას; memory visibility არის ის, ხედავს თუ არა ერთი thread-ის ჩანაწერებს მეორე; memory barrier-ები აწესებენ რიგს, რომ ეს ჩანაწერები გახდეს ხილული. Lock-ები არ არის ერთადერთი საზრუნავი — memory model-ია.
ატომურობა
ატომური ოპერაცია (მაგ. fetch_add, compare-and-swap) სრულდება როგორც ერთი განუყოფელი ნაბიჯი, ამიტომ race ვერ ჰყოფს მას. Hardware და ენა უზრუნველყოფენ atomic-ებს მთვლელებისა და flag-ებისთვის სრული lock-ის გარეშე.
();
counter.incrementAndGet();
