Sobes.tech
Junior — Middle
100

La bibliothèque standard de Python fournit-elle un mécanisme pour implémenter des sémaphores?

Réponse de l'IA

sobes.tech IA

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