అనేక threadలు డేటాను పంచుకున్నప్పుడు, వాటి ఆపరేషన్లు బహుళ-దశల నవీకరణ మధ్యలో interleave కావచ్చు, ఒక race conditionను — ఫలితం ఊహించలేని timing మీద ఆధారపడే బగ్ — సృష్టిస్తుంది. Synchronization అనేది సురక్షితమైన క్రమాన్ని బలవంతం చేసే పరికరాల సమూహం.
సమస్య: ఒక race condition
count++ atomicగా కనిపిస్తుంది కానీ నిజానికి read-modify-write:
