Состояние гонки (race condition)
Коротко: Состояние гонки возникает, когда результат программы зависит от временного порядка, в котором несколько потоков обращаются к общим данным.
Подробнее: Ошибка проявляется нерегулярно и плохо воспроизводится, поскольку порядок зависит от случайных факторов планировщика. Классический пример: два потока увеличивают один счётчик. counter += 1 состоит из чтения, сложения и записи — если поток переключается между ними, одно увеличение теряется.
Подробности
import threading
counter = 0См. также: поток, мьютекс, взаимная блокировка, параллелизм