What is a race condition and how do you prevent it in multi-threaded programming? · ORA·tech