Зачем нужен asyncio в Python
Python
Senior
Без компании
Зачем нужен asyncio в Python
Ответы
`asyncio` — это библиотека для написания асинхронного кода в Python, позволяющая эффективно выполнять I/O-операции (сеть, файлы и т. д.) без блокировки потока.
### Основные преимущества:
- **Экономия ресурсов**: вместо создания множества потоков используется один поток с кооперативной многозадачностью (корутины).
- **Производительность**: идеально подходит для задач с высоким уровнем I/O (веб-запросы, базы данных).
- **Читаемость**: код выглядит линейным благодаря `async/await`.
### Пример:
```
import asyncio
async def fetch_data():
print("Начало загрузки...")
await asyncio.sleep(2) # Имитация I/O-операции
print("Данные загружены")
async def main():
await asyncio.gather(fetch_data(), fetch_data()) # Запуск двух задач параллельно
asyncio.run(main())
```
В синхронном коде при `time.sleep(2)` поток блокировался бы, а `asyncio.sleep(2)` освобождает его для других задач.