Что такое корутина в Asyncio
Python
Middle
Без компании
Что такое корутина в Asyncio
Ответы
Корутина (coroutine) — это специальная функция, которая может приостанавливать своё выполнение и возобновлять его позже, не блокируя поток. В Asyncio корутины используются для асинхронного программирования и работают в рамках цикла событий (event loop).
Корутины объявляются с `async def` и вызываются с `await`. Они позволяют писать конкурентный код, который выглядит как синхронный, но выполняется асинхронно.
Пример:
```
import asyncio
async def example_coroutine():
print("Start")
await asyncio.sleep(1) # Приостановка на 1 секунду
print("End")
asyncio.run(example_coroutine())
```
Ключевые особенности:
- Не выполняются сразу при вызове, а возвращают корутинный объект
- Для запуска требуется event loop (`asyncio.run()`)
- `await` передаёт управление обратно в event loop, пока ожидается результат
Корутины — основа асинхронного программирования в Python, позволяющая эффективно работать с I/O-bound задачами.