Встречается на собеседованиях • сегодня

Сколько примитивов синхронизации существует

В Python основные примитивы синхронизации из модуля threading:

  1. Lock – базовая блокировка
  2. RLock – реентерабельный (повторно входимый) лок
  3. Semaphore – семафор (счетчик)
  4. BoundedSemaphore – ограниченный семафор
  5. Event – событие для уведомлений между потоками
  6. Condition – условная переменная

Пример использования Lock:

python
import threading

lock = threading.Lock()
shared_data = 0

def increment():
    global shared_data
    with lock:
        shared_data += 1

Для межпроцессной синхронизации (multiprocessing) аналогичные примитивы, но работают между процессами.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы