Встречается на собеседованиях • сегодня
Какие методы синхронизации потоков в 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
интервью вопросы и ответы