Встречается на 1% собеседований по Python
Какие методы синхронизации потоков в Python тебе известны
В Python для синхронизации потоков используются:
- Lock (мьютекс) – базовый примитив, блокирует доступ к ресурсу:
python
from threading import Lock
lock = Lock()
with lock:
# критическая секция- RLock (реентерабельный lock) – позволяет одному потоку захватывать блокировку несколько раз.
- Semaphore – ограничивает количество потоков в критической секции:
python
from threading import Semaphore
sem = Semaphore(3) # максимум 3 потока
sem.acquire()
# работа с ресурсом
sem.release()- Event – механизм оповещения между потоками:
python
from threading import Event
event = Event()
event.wait() # поток ждет
event.set() # другой поток разблокирует ожидающих- Condition – условная блокировка с ожиданием условия:
python
from threading import Condition
cond = Condition()
with cond:
cond.wait() # ждет notify()/notify_all()- Barrier – синхронизирует группы потоков в точке встречи.
Для сложных сценариев лучше использовать threading или multiprocessing с учетом GIL.

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