Проверяет знание основных компонентов асинхронного программирования в Python.
Корутина (coroutine) — функция, определенная через async def, которую можно приостановить.
Таск (Task) — обертка вокруг корутины, планируемая в цикле событий.
Футура (Future) — низкоуровневый объект, представляющий результат асинхронной операции.
Корутина:
async def my_coroutine():
return 42Таск:
task = asyncio.create_task(my_coroutine())Управляется циклом событий.
Футура:
Используется внутри asyncio для связи между низкоуровневым и высокоуровневым кодом.
Вывод:
Для большинства задач достаточно корутин и тасков.
Футуры нужны при реализации своих асинхронных примитивов.