Что такое Task в asyncio

Python Middle Без компании
Что такое Task в asyncio
Ответы
`Task` в `asyncio` — это объект, представляющий выполнение сопрограммы (`coroutine`) в цикле событий. Это обёртка над сопрограммой, которая планирует её выполнение и управляет её состоянием. **Ключевые особенности:** - `Task` наследуется от `Future`, поэтому может использоваться в `await`. - Создаётся с помощью `asyncio.create_task()` или `loop.create_task()`. - Автоматически запускает сопрограмму в фоновом режиме. **Пример:** ``` import asyncio async def foo(): print("Start") await asyncio.sleep(1) print("End") async def main(): task = asyncio.create_task(foo()) # Создаём Task await task # Ждём завершения asyncio.run(main()) ``` **Важно:** - Если не `await` Task, он может быть отменён при завершении `main()`. - `Task` позволяет конкурентно выполнять несколько сопрограмм.