Race conditions are when the system’s behaviour is dependant on the timing of other events that may lead to undesirable results.

A race condition can occur when a program has different code paths running at the same time (that may take a different amounts of time to finish). When the order of the code paths finishing is different than expected, this leads to unexpected behaviour (bugs or security risks).


Source: Wikipedia