Какие знаешь методы из asyncio
Python
Middle
Без компании
Какие знаешь методы из asyncio
Ответы
`asyncio` предоставляет множество методов для работы с асинхронным кодом. Основные:
- **`asyncio.run(coro)`** — запускает корутину и управляет циклом событий.
- **`asyncio.create_task(coro)`** — оборачивает корутину в `Task` и планирует её выполнение.
- **`asyncio.gather(*coros)`** — запускает несколько корутин параллельно и ждёт их завершения.
- **`asyncio.sleep(sec)`** — асинхронная задержка.
- **`asyncio.wait(coros)`** — ожидает завершения задач с возможностью контроля (например, `return_when=ALL_COMPLETED`).
- **`asyncio.shield(coro)`** — защищает задачу от отмены.
- **`asyncio.wait_for(coro, timeout)`** — ждёт корутину с таймаутом.
- **`asyncio.to_thread(func)`** — запускает синхронную функцию в отдельном потоке.
Пример:
```
import asyncio
async def foo():
await asyncio.sleep(1)
print("Done")
async def main():
task = asyncio.create_task(foo())
await asyncio.gather(task, asyncio.sleep(2))
asyncio.run(main())
```