Race condition, sonucun paylaşılan duruma erişen eşzamanlı işlemlerin öngörülemez zamanlamasına bağlı olduğu bir hatadır. Klasik durum, atomik olmayan bir read-modify-write'tır.
Nasıl çalışır
counter += 1 atomik görünür ama gerçekte üç adımdır: oku, ekle, yaz. İki thread araya girebilir, böylece bir güncelleme kaybolur.
counter = 0
Thread A: read 0 ─────────── write 1
Thread B: read 0 ─ write 1
Result: 1 (should be 2 — one increment lost)
