Да, стандартная библиотека Python предоставляет механизм для реализации семафоров в модуле threading.
Предоставляет ли стандартная библиотека Python механизм для реализации семафоров?
Да, стандартная библиотека 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 содержит готовый класс для семафоров.