Карточка Junior asyncio спрашивают часто обновлено

Корутина, задача, цикл событий

Вопрос

Чем отличаются корутина, задача и цикл событий в asyncio?

Попробуйте сами

Ответьте про себя или вслух, потом откройте ответ и сверьтесь.

Показать ответ и разбор

Коротко

Корутина: объект, который возвращает вызов async def, сам по себе не выполняется. Задача (Task): корутина, запланированная в цикле событий на конкурентное выполнение.

Ответ

Корутина: объект, который возвращает вызов async def, сам по себе не выполняется. Задача (Task): корутина, запланированная в цикле событий на конкурентное выполнение. Цикл событий: планировщик, который выполняет готовые задачи и следит за I/O и таймерами.

Разбор

await coro выполняет корутину в текущей задаче, create_task(coro) создаёт новую задачу, которая идёт конкурентно.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.