Что такое 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` позволяет конкурентно выполнять несколько сопрограмм.