Sobes.tech
Junior — Middle
87

Welche Methoden können verwendet werden, um die Anzahl der gleichzeitig ausgeführten Threads oder Aufgaben beim Zugriff auf eine Ressource in einem bestimmten Zeitraum zu kontrollieren?

Antwort von AI

sobes.tech KI

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

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

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

import threading

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

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

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