Встречается на собеседованиях • сегодня
Что такое мьютекс
Мьютекс (mutex, от mutual exclusion) — это примитив синхронизации, который обеспечивает эксклюзивный доступ к общему ресурсу в многопоточной среде. Только один поток может захватить мьютекс, остальные будут ждать его освобождения.
Пример использования в Python с threading:
python
import threading
shared_resource = 0
lock = threading.Lock()
def increment():
global shared_resource
with lock: # Автоматически захватывает и освобождает
shared_resource += 1
threads = [threading.Thread(target=increment) for _ in range(10)]
for t in threads:
t.start()
for t in threads:
t.join()
print(shared_resource) # Гарантированно 10
text
Ключевые особенности:
- Гарантирует атомарность операций
- Предотвращает race condition
- Может быть блокирующим (thread будет ждать) или неблокирующим (try_lock)
- В Python реализован через `threading.Lock`
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы