Что такое asyncio в Python

Python Senior Без компании
Что такое asyncio в Python
Ответы
Asyncio — это библиотека для написания конкурентного кода с использованием синтаксиса async/await. Она позволяет выполнять I/O-операции (сеть, файлы) без блокировки потока, используя однопоточный цикл событий (event loop). **Ключевые особенности:** - **Корутины (coroutines)** — функции, объявленные через `async def`. - **Event loop** — управляет выполнением корутин. - **Awaitables** — объекты, которые можно `await` (корутины, задачи, футуры). **Пример:** ``` import asyncio async def fetch_data(): print("Начинаем загрузку...") await asyncio.sleep(2) # Имитация I/O-операции print("Данные загружены!") return "Результат" async def main(): task = asyncio.create_task(fetch_data()) print("Делаем что-то параллельно...") result = await task print(f"Получено: {result}") asyncio.run(main()) ``` **Когда использовать:** - Высоконагруженные I/O-приложения (веб-серверы, API, боты). - Множество одновременных соединений. - Задачи с долгим ожиданием (HTTP-запросы, БД). **Не подходит для CPU-задач (нужен multiprocessing).**