Встречается на собеседованиях • сегодня

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

Asyncio основана на концепции событийного цикла (event loop), корутин (coroutines) и механизма await/async. Она использует однопоточную модель выполнения с кооперативной многозадачностью, где корутины добровольно передают управление обратно в цикл событий через await.

Ключевые компоненты:

  • Event Loop - управляет выполнением корутин и обрабатывает события (I/O, таймеры)
  • Coroutines - функции, объявленные через async def, которые можно приостанавливать
  • Futures/Tasks - объекты, представляющие результат асинхронной операции

Пример:

python
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 задач, где традиционные потоки создают накладные расходы.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы