Зачем нужен мьютекс в Python

Python Middle Баланс-Платформа
Зачем нужен мьютекс в Python
Ответы
Мьютекс (mutex, mutual exclusion) нужен для синхронизации доступа к общим ресурсам в многопоточных приложениях. Он предотвращает race condition, когда несколько потоков одновременно пытаются изменить одни и те же данные. Пример с `threading.Lock()`: ``` import threading counter = 0 lock = threading.Lock() def increment(): global counter with lock: # Блокировка до завершения блока counter += 1 threads = [] for _ in range(1000): t = threading.Thread(target=increment) threads.append(t) t.start() for t in threads: t.join() print(counter) # Гарантированно 1000 ``` Без мьютекса значение `counter` могло бы быть меньше из-за перекрывающихся операций. Мьютекс обеспечивает атомарность критической секции. В Python GIL (Global Interpreter Lock) ограничивает параллелизм, но мьютексы всё равно важны для thread-safe операций.