Back to questions
Middle
6
Что такое Race Condition простыми словами?
Companies where asked
aic
Answer from AI
sobes.tech AI
Race Condition (состояние гонки) — это ситуация, когда результат работы программы зависит от порядка выполнения нескольких параллельных операций, и этот порядок непредсказуем.
Простой пример: два потока одновременно пытаются увеличить счетчик. Если оба прочитают старое значение, увеличат его и запишут обратно, итоговое значение увеличится только на 1 вместо 2.
В итоге из-за одновременного доступа к общему ресурсу без синхронизации данные могут стать некорректными.
Чтобы избежать race condition, используют механизмы синхронизации: мьютексы, блокировки, атомарные операции.
Пример на Python с использованием мьютекса:
import threading
counter = 0
lock = threading.Lock()
def increment():
global counter
with lock:
temp = counter
temp += 1
counter = temp
threads = [threading.Thread(target=increment) for _ in range(1000)]
for t in threads:
t.start()
for t in threads:
t.join()
print(counter) # Ожидается 1000