Какие методы можно использовать для контроля количества одновременно выполняющихся потоков или задач при доступе к ресурсу в заданный промежуток времени?

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

Короткий ответ

Что ответить на собеседовании

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

Подробный разбор

Ответ с пояснениями

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

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

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

import threading

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

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

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

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее