A race condition egy hiba, ahol az eredmény a megosztott állapothoz hozzáférő egyidejű műveletek kiszámíthatatlan időzítésétől függ. A klasszikus eset egy read-modify-write, amely nem atomi.
Hogyan működik
A counter += 1 atominak tűnik, de valójában három lépés: read, add, write. Két thread úgy szövődhet egymásba, hogy egy frissítés elvész.
counter = 0
Thread A: read 0 ─────────── write 1
Thread B: read 0 ─ write 1
Eredmény: 1 (2 kellene lennie — egy inkrementálás elveszett)
