Gdy wiele wątków współdzieli dane, ich operacje mogą się przeplatać (interleave) w środku wieloetapowej aktualizacji, tworząc race condition — bug, w którym wynik zależy od nieprzewidywalnego taktowania. Synchronizacja to zestaw narzędzi, które wymuszają bezpieczną kolejność.
Problem: race condition
wygląda na atomowe, ale w rzeczywistości jest to odczyt-modyfikacja-zapis (read-modify-write):
