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

Как работает асинхронное программирование (async/await)

Асинхронное программирование позволяет выполнять операции без блокировки основного потока. В Python для этого используются ключевые слова async/await и event loop.

Основные принципы:

  • async объявляет корутину (асинхронную функцию)
  • await приостанавливает выполнение корутины, пока ожидаемая операция не завершится
  • Event loop управляет выполнением корутин

Пример:

python
import asyncio

async def fetch_data():
    print("Начало загрузки")
    await asyncio.sleep(2)  # Имитация долгой операции
    print("Данные загружены")
    return {"data": 123}

async def main():
    task = asyncio.create_task(fetch_data())
    print("Делаем что-то параллельно")
    await task  # Ожидаем завершения задачи

asyncio.run(main())

Преимущества:

  • Эффективное использование ресурсов
  • Возможность обрабатывать множество операций ввода-вывода
  • Читаемый код по сравнению с callback-ами

Важно: асинхронность ≠ многопоточность, GIL все равно работает, но для I/O-bound задач это эффективно.

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

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

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

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