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