ਇੱਕ atomic operation ਅਵਿਭਾਜ ਤੌਰ 'ਤੇ ਪੂਰਾ ਹੁੰਦਾ ਹੈ — ਕੋਈ ਹੋਰ thread ਅੱਧ-ਹੋਈ ਸਥਿਤੀ ਨਹੀਂ ਦੇਖਦਾ; memory visibility ਇਹ ਹੈ ਕਿ ਕੀ ਇੱਕ thread ਦੇ writes ਦੂਜੇ ਦੁਆਰਾ ਦੇਖੇ ਜਾਂਦੇ ਹਨ; memory barriers ordering ਨੂੰ ਲਾਗੂ ਕਰਦੇ ਹਨ ਤਾਂ ਜੋ ਉਹ writes visible ਹੋ ਜਾਣ। Locks ਹੀ ਇੱਕੋ-ਇੱਕ ਚਿੰਤਾ ਨਹੀਂ ਹਨ — memory model ਵੀ ਹੈ।
Atomicity
ਇੱਕ atomic op (ਜਿਵੇਂ fetch_add, compare-and-swap) ਇੱਕ ਅਵਿਭਾਜ ਕਦਮ ਵਜੋਂ execute ਹੁੰਦਾ ਹੈ, ਇਸ ਲਈ ਕੋਈ race ਇਸ ਨੂੰ ਵੰਡਦੀ ਨਹੀਂ। Hardware ਅਤੇ language counters ਅਤੇ flags ਲਈ ਬਿਨਾਂ ਪੂਰੇ lock ਦੇ atomics ਪ੍ਰਦਾਨ ਕਰਦੇ ਹਨ।
();
counter.incrementAndGet();
