Встречается на собеседованиях • сегодня
Что такое гонка данных в Python
Гонка данных (race condition) возникает, когда несколько потоков или процессов одновременно обращаются к общим данным, и результат выполнения зависит от порядка выполнения операций. Это может привести к неожиданным ошибкам и неконсистентности данных.
Пример с кодом:
python
import threading
counter = 0
def increment():
global counter
for _ in range(100000):
counter += 1
threads = []
for _ in range(5):
t = threading.Thread(target=increment)
threads.append(t)
t.start()
for t in threads:
t.join()
print(counter) # Результат может быть меньше 500000Как избежать:
- Использовать блокировки (
threading.Lock) - Применять потокобезопасные структуры из модуля
queue - Использовать механизмы синхронизации (
RLock,Semaphore) - Рассмотреть альтернативы (асинхронность, multiprocessing с разделяемой памятью)

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы