За сколько секунд отработает функция с двумя последовательными await asyncio.sleep(5)?

Около 10 секунд плюс накладные расходы: два последовательных await asyncio.sleep(5) не перекрываются. Второе ожидание начинается только после завершения первого.

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

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

Около 10 секунд плюс накладные расходы: два последовательных await asyncio.sleep(5) не перекрываются. Второе ожидание начинается только после завершения первого.

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

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

Около 10 секунд плюс накладные расходы: два последовательных await asyncio.sleep(5) не перекрываются. Второе ожидание начинается только после завершения первого.

await освобождает event loop для других задач, но не делает следующие строки текущей coroutine параллельными. Для перекрывающихся ожиданий оба sleep нужно запланировать конкурентно, например через asyncio.gather(). Тогда длительность будет близка к пяти секундам. Точное время зависит от нагрузки и планирования, поэтому sleep задаёт ожидание, а не гарантию выполнения ровно в указанную миллисекунду.

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

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

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

Подробнее