যখন একাধিক thread data ভাগ করে, তাদের operation একটি বহু-ধাপ update-এর মাঝখানে interleave হতে পারে, যা একটি race condition তৈরি করে — একটি bug যেখানে ফলাফল অননুমেয় timing-এর ওপর নির্ভর করে। Synchronization হলো সেই সরঞ্জামগুলোর সেট যা নিরাপদ ordering জোর করে চাপায়।
সমস্যা: একটি race condition
count++ দেখতে atomic মনে হয় কিন্তু আসলে এটি read-modify-write:
