Uma condição de corrida ocorre quando duas ou mais tarefas usam as mesmas informações quase ao mesmo tempo e a ordem em que acontecem muda o resultado.

Imagine que reste apenas um item na prateleira. Duas pessoas o veem e tentam pegá-lo ao mesmo tempo; o registro pode acabar mostrando a quantidade errada. O problema não é alguém ter se movido devagar, e sim as ações terem se sobreposto.

Programas podem evitar algumas condições de corrida coordenando o acesso a informações compartilhadas. Elas podem ser difíceis de reproduzir porque o tempo muda de uma execução para outra.