Предоставляет ли стандартная библиотека Python механизм для реализации семафоров?

Да, стандартная библиотека Python предоставляет механизм для реализации семафоров в модуле threading.

Короткий ответ

Что ответить на собеседовании

Да, стандартная библиотека Python предоставляет механизм для реализации семафоров в модуле threading.

Подробный разбор

Ответ с пояснениями

Да, стандартная библиотека Python предоставляет механизм для реализации семафоров в модуле threading.

Класс threading.Semaphore позволяет ограничить количество потоков, одновременно выполняющих определённый участок кода.

Пример:

import threading

sem = threading.Semaphore(3)  # максимум 3 потока одновременно

def worker(num):
    sem.acquire()
    print(f"Поток {num} начал работу")
    # критическая секция
    sem.release()

for i in range(5):
    threading.Thread(target=worker, args=(i,)).start()

Таким образом, стандартная библиотека Python содержит готовый класс для семафоров.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее