Встречается на 2% собеседований по Python
Что такое примитивы синхронизации
Примитивы синхронизации — это базовые механизмы, обеспечивающие корректное взаимодействие потоков или процессов при работе с общими ресурсами. Основные примитивы в Python:
- Lock (блокировка) — самый простой примитив. Позволяет только одному потоку выполнять критическую секцию кода.
python
from threading import Lock
lock = Lock()
with lock:
# Критическая секция- RLock (реентерабельная блокировка) — позволяет одному потоку захватывать блокировку несколько раз.
- Semaphore — ограничивает количество потоков, которые могут одновременно получить доступ к ресурсу.
python
from threading import Semaphore
sem = Semaphore(3) # Макс 3 потока
sem.acquire()
# Работа с ресурсом
sem.release()- Event — механизм оповещения между потоками. Один поток ждёт событие, другой его устанавливает.
python
from threading import Event
event = Event()
# Поток 1:
event.wait() # Блокируется до set()
# Поток 2:
event.set() # Разблокирует ожидающие потоки- Condition — более сложный механизм, позволяющий потокам ждать определённого условия.
python
from threading import Condition
cond = Condition()
with cond:
while not resource_available():
cond.wait() # Освобождает lock и ждёт
# Работа с ресурсомЭти примитивы помогают избежать race conditions, deadlocks и других проблем многопоточности.

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