Amikor több thread osztozik adatokon, a műveleteik átlapolódhatnak egy többlépéses frissítés közepén, race conditiont okozva — egy olyan bugot, ahol az eredmény kiszámíthatatlan időzítésen múlik. A szinkronizáció azoknak az eszközöknek a halmaza, amelyek biztonságos sorrendet kényszerítenek ki.
A probléma: egy race condition
A atominak tűnik, de valójában read-modify-write:
