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

На чем основанна асинхронность

Асинхронность в Python основана на концепции event loop (цикла событий) и корутин (coroutines). Event loop управляет выполнением задач, переключаясь между ними, когда они ожидают I/O операций. Это позволяет эффективно использовать ресурсы, избегая блокировок.

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

  • asyncio - стандартная библиотека для асинхронного программирования
  • async/await - синтаксис для определения и вызова корутин
  • Футуры (Futures) - объекты, представляющие результат асинхронной операции

Пример:

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())

Отличие от многопоточности: асинхронность использует один поток, переключая контекст только при явном указании (await), что уменьшает накладные расходы.

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

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

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

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