Sobes.tech
Junior — Middle
69

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

Answer from AI

sobes.tech AI

Да, стандартная библиотека 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 содержит готовый класс для семафоров.