gather собирает результаты нескольких awaitable в порядке аргументов. wait ждёт заданного условия завершения и возвращает множества done и pending для переданных задач.
Чем asyncio.gather отличается от asyncio.wait?
gather собирает результаты нескольких awaitable в порядке аргументов. wait ждёт заданного условия завершения и возвращает множества done и pending для переданных задач.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
gather собирает результаты нескольких awaitable в порядке аргументов. wait ждёт заданного условия завершения и возвращает множества done и pending для переданных задач.
Для wait заранее создайте Task; можно остановиться на первом завершении, исключении или окончании всех. Его timeout сам не отменяет pending-задачи — их жизненным циклом управляет вызывающий код.
gather удобно использовать, когда нужны все результаты. По умолчанию первое исключение передаётся вызывающему коду, но остальные участники автоматически не отменяются; return_exceptions=True возвращает исключения в результатах. Отмена самого gather имеет отдельную семантику отмены незавершённых участников. Выбор зависит от требуемой обработки частичных результатов и ошибок.