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

Как работает ожидание в async/await

Async/await в Python позволяет писать асинхронный код, который выглядит как синхронный. Когда встречается await, выполнение текущей корутины приостанавливается, пока ожидаемая операция (обычно I/O) не завершится, а управление передаётся обратно в event loop.

Ключевые моменты:

  • async определяет корутину (не выполняется сразу, а только при вызове)
  • await приостанавливает корутину до завершения ожидаемой операции
  • Event loop управляет выполнением корутин

Пример:

python
import asyncio

async def fetch_data():
    print("Начинаем загрузку")
    await asyncio.sleep(2)  # Имитация I/O операции
    print("Данные загружены")
    return {"data": 123}

async def main():
    task = asyncio.create_task(fetch_data())
    print("Делаем что-то параллельно")
    await task  # Ожидаем завершения задачи

asyncio.run(main())

Важно: await можно использовать только внутри async def. Ожидание не блокирует поток, а позволяет event loop'у выполнять другие задачи.

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

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

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

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