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

Как устроено асинхронное программирование

Асинхронное программирование в Python основано на концепции event loop (цикла событий), который управляет выполнением корутин (coroutines). Корутины — это специальные функции, объявленные через async def, которые могут приостанавливать своё выполнение с помощью await.

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

  1. Event Loop — центральный планировщик, который запускает и переключает задачи
  2. Корутины — асинхронные функции, которые могут "засыпать" на I/O операциях
  3. Future/Task — объекты, представляющие результат асинхронной операции

Пример:

python
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-bound операциях
  • Читаемый линейный код вместо callback hell
  • Параллельное выполнение без потоков (но не для CPU-bound задач)
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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