EMZETT.
Войти

Состояние гонки (race condition)

Коротко: Состояние гонки возникает, когда результат программы зависит от временного порядка, в котором несколько потоков обращаются к общим данным.

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

Подробности

import threading
counter = 0

См. также: поток, мьютекс, взаимная блокировка, параллелизм