На чем основана библиотека asyncio в Python

Python Senior Билайн
На чем основана библиотека asyncio в Python
Ответы
Asyncio основана на концепции событийного цикла (event loop), корутин (coroutines) и механизма `await`/`async`. Она использует однопоточную модель выполнения с кооперативной многозадачностью, где корутины добровольно передают управление обратно в цикл событий через `await`. Ключевые компоненты: - **Event Loop** - управляет выполнением корутин и обрабатывает события (I/O, таймеры) - **Coroutines** - функции, объявленные через `async def`, которые можно приостанавливать - **Futures/Tasks** - объекты, представляющие результат асинхронной операции Пример: ``` import asyncio async def fetch_data(): print("Начало загрузки") await asyncio.sleep(2) # Имитация I/O операции print("Данные загружены") return {"data": 123} async def main(): task = asyncio.create_task(fetch_data()) print("Делаем что-то параллельно") await task # Ожидаем завершения задачи asyncio.run(main()) ``` Asyncio особенно эффективна для I/O-bound задач, где традиционные потоки создают накладные расходы.