Работал ли с Asynchronous I/O
Python
Junior
Без компании
Работал ли с Asynchronous I/O
Ответы
Да, работал. Asynchronous I/O в Python реализуется через модуль `asyncio`, который позволяет писать конкурентный код с использованием синтаксиса `async/await`.
**Пример:**
```
import asyncio
async def fetch_data():
print("Начало загрузки данных")
await asyncio.sleep(2) # Имитация долгой операции (например, HTTP-запрос)
print("Данные загружены")
return {"data": 123}
async def main():
task = asyncio.create_task(fetch_data())
print("Делаем что-то параллельно...")
await task # Ожидаем завершения задачи
print(f"Результат: {task.result()}")
asyncio.run(main())
```
**Ключевые моменты:**
- `async def` — объявляет асинхронную функцию.
- `await` — приостанавливает выполнение, пока операция не завершится.
- `asyncio.create_task()` — запускает корутину конкурентно.
- `asyncio.run()` — точка входа для асинхронного кода.
Используется для эффективной работы с сетевыми запросами, базами данных (например, `asyncpg` для PostgreSQL) и другими I/O-bound задачами.