В чем разница между task и корутиной

Python Middle Без компании
В чем разница между task и корутиной
Ответы
Корутина (coroutine) — это специальная функция, которую можно приостанавливать и возобновлять. Она определяется с помощью `async def` и может содержать `await`. Корутина не выполняется сама по себе, пока её явно не запустят. Task — это обёртка вокруг корутины, которая планирует её выполнение в event loop. Когда создаётся Task, корутина автоматически добавляется в цикл событий и начинает выполняться конкурентно с другими задачами. Пример: ``` import asyncio async def my_coroutine(): print("Hello") await asyncio.sleep(1) print("World") # Просто корутина (не выполняется) coro = my_coroutine() # Task — запускает корутину в event loop task = asyncio.create_task(my_coroutine()) ``` Ключевые отличия: - Корутина — это функция, Task — запущенная корутина. - Task управляется event loop, корутина требует явного вызова `await` или создания Task. - Можно создать множество Task из одной корутины.