Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про Python: asyncio, coroutine, concurrency

Как работает asyncio.gather?

Проверяет знание работы с группой асинхронных задач в Python.

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

asyncio.gather запускает несколько корутин параллельно и возвращает их результаты в виде списка. Если одна корутина упадет с ошибкой, остальные продолжат работу (если не задано return_exceptions=True).

Длинный ответ

Пример использования:

import asyncio

async def fetch_data(url):
    await asyncio.sleep(1)  # Имитация запроса
    return f"Данные с {url}"

async def main():
    results = await asyncio.gather(
        fetch_data("url1.com"),
        fetch_data("url2.com"),
    )
    print(results)  # ['Данные с url1.com', 'Данные с url2.com']

asyncio.run(main())

Особенности:

  • Задачи выполняются конкурентно, но не обязательно параллельно (если нет I/O-ожидания).

  • При return_exceptions=True ошибки возвращаются как результаты.

Уровень

  • Рейтинг:

    1

  • Сложность:

    6

Навыки

  • Python

    Python

Ключевые слова

#asyncio

#coroutine

#concurrency

Подпишись на Python Developer в телеграм