Около 10 секунд плюс накладные расходы: два последовательных await asyncio.sleep(5) не перекрываются. Второе ожидание начинается только после завершения первого.
За сколько секунд отработает функция с двумя последовательными await asyncio.sleep(5)?
Около 10 секунд плюс накладные расходы: два последовательных await asyncio.sleep(5) не перекрываются. Второе ожидание начинается только после завершения первого.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Около 10 секунд плюс накладные расходы: два последовательных await asyncio.sleep(5) не перекрываются. Второе ожидание начинается только после завершения первого.
await освобождает event loop для других задач, но не делает следующие строки текущей coroutine параллельными. Для перекрывающихся ожиданий оба sleep нужно запланировать конкурентно, например через asyncio.gather(). Тогда длительность будет близка к пяти секундам. Точное время зависит от нагрузки и планирования, поэтому sleep задаёт ожидание, а не гарантию выполнения ровно в указанную миллисекунду.