Sobes.tech
Junior — Middle
105

Milliseid meetodeid saab kasutada samaaegselt täidetavate lõimude või ülesannete arvu kontrollimiseks teatud ajavahemikus ressursile juurdepääsu ajal?

Vastus AI-lt

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

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