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

Как устроен механизм работы корутин

Корутины (сопрограммы) в Python — это специальные функции, которые могут приостанавливать своё выполнение и возобновлять его позже, сохраняя состояние между вызовами. Они работают на основе генераторов и управляются циклом событий (event loop).

Основные особенности:

  • Используют async/await синтаксис.
  • Выполняются в одном потоке, но позволяют эффективно работать с I/O-bound задачами.
  • Управляются event loop'ом, который решает, когда переключаться между корутинами.

Пример:

python
import asyncio

async def example_coroutine():
    print("Start")
    await asyncio.sleep(1)  # Приостановка выполнения
    print("End")

asyncio.run(example_coroutine())  # Запуск корутины

Как это работает:

  1. При вызове async def создаётся корутина (не выполняется сразу).
  2. await передаёт управление обратно в event loop, пока ожидаемая операция (например, asyncio.sleep) не завершится.
  3. Event loop запускает другие корутины, пока текущая приостановлена.
  4. Когда операция завершается, выполнение корутины возобновляется.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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