Встречается на собеседованиях • сегодня
Что такое примитивы синхронизации
Примитивы синхронизации — это базовые механизмы, обеспечивающие корректное взаимодействие потоков или процессов при работе с общими ресурсами. Основные примитивы в 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
интервью вопросы и ответы