Race condition ni bug ambapo matokeo yanategemea muda usiotabirika wa operations zinazoendana zikifikia shared state. Kesi ya kawaida ni read-modify-write ambayo siyo atomic.
Jinsi inavyofanya kazi
counter += 1 inaonekana atomic lakini kwa kweli ni hatua tatu: read, add, write. Threads mbili zinaweza kuingiliana hivyo update inapotea.
counter = 0
Thread A: read 0 ─────────── write 1
Thread B: read 0 ─ write 1
Result: 1 (should be 2 — one increment lost)
