Sobes.tech
Junior — Middle
83

Jaké metody lze použít ke kontrole počtu současně běžících vláken nebo úloh při přístupu k prostředku v daném časovém období?

Odpověď od AI

sobes.tech AI

В Python для контроля количества одновременно выполняющихся потоков или задач при доступе к ресурсу часто используют:

  • Semaphore из модуля threading или asyncio — ограничивает число одновременно работающих потоков или корутин.
  • ThreadPoolExecutor или ProcessPoolExecutor из модуля concurrent.futures — управляют пулом потоков или процессов.
  • asyncio.BoundedSemaphore — для асинхронного кода.

Пример с семафором:

import threading

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

def task():
    with semaphore:
        # доступ к ресурсу
        pass

Такой подход позволяет ограничить параллелизм и избежать перегрузки ресурса.