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

Зачем нужен gather в asyncio

asyncio.gather() позволяет запускать несколько корутин конкурентно и ждать их завершения. Это удобно, когда нужно выполнить несколько асинхронных операций параллельно, а не последовательно.

Основные преимущества:

  • Запускает корутины одновременно
  • Возвращает результаты в порядке их передачи (не завершения)
  • Позволяет обрабатывать исключения из всех корутин

Пример:

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())

Если одна из корутин вызовет исключение, по умолчанию исключение будет проброшено, но можно обработать их все с помощью return_exceptions=True.

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

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

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

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