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

Как работает асинхронность на верхних уровнях

Асинхронность в Python реализована через механизм event loop и корутины. На верхнем уровне работают три ключевых компонента:

  1. Event Loop - управляет выполнением задач, переключаясь между ними при возникновении I/O операций
  2. Корутины (async/await) - специальные функции, которые могут приостанавливать выполнение
  3. Задачи (Tasks) - обёртки вокруг корутин, планируемые в event loop

Пример:

python
import asyncio

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

async def main():
    task = asyncio.create_task(fetch_data())
    print("Делаем что-то параллельно")
    result = await task
    print(f"Получено: {result}")

asyncio.run(main())

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

  • await передаёт управление обратно в event loop
  • asyncio.create_task() запускает корутину как фоновую задачу
  • Event loop автоматически переключается между готовыми задачами
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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