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

Как работает асинхронность в Python

Асинхронность в Python работает через механизм event loop и корутины (coroutines). Основные компоненты:

  1. Event Loop - управляет выполнением задач, переключаясь между ними при ожидании I/O
  2. Корутины - специальные функции, объявленные через async def, которые могут приостанавливать выполнение через await
  3. Awaitables - объекты (корутины, Tasks, Futures), которые можно ждать через await

Пример:

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

Ключевые особенности:

  • Не блокирует поток выполнения при ожидании I/O
  • Использует кооперативную многозадачность (корутины добровольно уступают контроль)
  • Работает в одном потоке (но может использовать несколько через ThreadPoolExecutor)
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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