Встречается на собеседованиях • сегодня

Какая функция в asyncio способна запускать несколько корутин параллельно

Для параллельного запуска нескольких корутин в asyncio используется функция asyncio.gather(). Она принимает корутины как аргументы, запускает их конкурентно и возвращает результаты в том же порядке.

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

  • Запускает корутины "одновременно"
  • Возвращает список результатов
  • Можно обрабатывать исключения через return_exceptions=True

Пример:

python
import asyncio

async def task1():
    await asyncio.sleep(1)
    return "Результат 1"

async def task2():
    await asyncio.sleep(2)
    return "Результат 2"

async def main():
    results = await asyncio.gather(task1(), task2())
    print(results)  # ['Результат 1', 'Результат 2']

asyncio.run(main())

Альтернатива - asyncio.create_task() для более гибкого управления, но без автоматического сбора результатов.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы