ਜਦੋਂ ਕਈ threads ਡਾਟਾ ਸਾਂਝਾ ਕਰਦੇ ਹਨ, ਉਹਨਾਂ ਦੀਆਂ ਕਾਰਵਾਈਆਂ ਇੱਕ ਬਹੁ-ਪੜਾਵੀ ਅੱਪਡੇਟ ਦੇ ਵਿਚਕਾਰ ਆਪਸ ਵਿੱਚ ਗੁੰਦ (interleave) ਸਕਦੀਆਂ ਹਨ, ਜਿਸ ਨਾਲ ਇੱਕ race condition ਪੈਦਾ ਹੁੰਦਾ ਹੈ — ਇੱਕ bug ਜਿੱਥੇ ਨਤੀਜਾ ਅਣ-ਅਨੁਮਾਨਯੋਗ timing ਉੱਤੇ ਨਿਰਭਰ ਕਰਦਾ ਹੈ। Synchronization ਉਹ ਟੂਲਾਂ ਦਾ ਸਮੂਹ ਹੈ ਜੋ ਸੁਰੱਖਿਅਤ ਕ੍ਰਮ ਨੂੰ ਲਾਗੂ ਕਰਦੇ ਹਨ।
ਸਮੱਸਿਆ: ਇੱਕ race condition
atomic ਲੱਗਦਾ ਹੈ ਪਰ ਅਸਲ ਵਿੱਚ read-modify-write ਹੈ:
