Data Race (гонка данных) — это состояние в многопоточных программах, когда два или более потоков одновременно пытаются читать и записывать в одну и ту же область памяти без должной синхронизации. Это может привести к непредсказуемому поведению программы и сложным для выявления ошибкам.
Data Race возникает, когда:
Два или более потока имеют доступ к одной и той же переменной.
Хотя бы один из потоков выполняет запись (модификацию) переменной.
Доступ к переменной не синхронизирован должным образом.
Для предотвращения гонок данных используются механизмы синхронизации, такие как мьютексы, семафоры и другие примитивы синхронизации.