Чем asyncio.gather отличается от asyncio.wait?

gather собирает результаты нескольких awaitable в порядке аргументов. wait ждёт заданного условия завершения и возвращает множества done и pending для переданных задач.

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

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

gather собирает результаты нескольких awaitable в порядке аргументов. wait ждёт заданного условия завершения и возвращает множества done и pending для переданных задач.

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

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

gather собирает результаты нескольких awaitable в порядке аргументов. wait ждёт заданного условия завершения и возвращает множества done и pending для переданных задач.

Для wait заранее создайте Task; можно остановиться на первом завершении, исключении или окончании всех. Его timeout сам не отменяет pending-задачи — их жизненным циклом управляет вызывающий код.

gather удобно использовать, когда нужны все результаты. По умолчанию первое исключение передаётся вызывающему коду, но остальные участники автоматически не отменяются; return_exceptions=True возвращает исключения в результатах. Отмена самого gather имеет отдельную семантику отмены незавершённых участников. Выбор зависит от требуемой обработки частичных результатов и ошибок.

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

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

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

Подробнее