Race Condition Simulation

Concurrent Shared State & Mutex Synchronization

Scenario Concurrent Withdrawals on Shared Bank Account

An account starts with an initial balance of $1,000. Two concurrent threads (Thread A and Thread B) each perform 5 consecutive $100 withdrawals simultaneously (10 withdrawals total, expected final balance: $0).

Mode 01 — Problem
No Lock — Racy Interleaving
Threads read stale balances simultaneously before writing, clobbering each other's updates and causing balance discrepancies.
Account Balance
$1,000
Thread A
Read
Compute
Write
Thread B
Read
Compute
Write
Transfers Done
0
Money Diff
$0
Speed