A problematic situation where the outcome of a program depends on the unpredictable timing or sequence of multiple threads accessing shared resources. The result varies based on which thread 'wins the race' to access the resource first.
'Race' from Old Norse 'rás' (running) and 'condition' from Latin 'condicio' (agreement). The computing term emerged in the 1960s with concurrent programming, describing situations where threads 'race' against each other to access resources, leading to unpredictable outcomes.
A race condition is like two people trying to grab the last slice of pizza at exactly the same time - depending on who's slightly faster, you might end up with a torn slice, someone getting nothing, or an unexpected mess. The outcome depends entirely on timing!
Complete word intelligence in one call. Free tier — 50 lookups/day.