När flera threads delar data kan deras operationer flätas samman (interleave) mitt i en flerstegsuppdatering, vilket ger en race condition — en bugg där utfallet beror på oförutsägbar timing. Synkronisering är den uppsättning verktyg som tvingar fram säker ordning.
Problemet: en race condition
count++ ser atomiskt ut men är egentligen read-modify-write:
