На Linux стандартный selector-based asyncio loop обычно использует epoll через selectors для ожидания готовности файловых дескрипторов. Готовые события и таймеры возобновляют корутины.
Как работает asyncio в Python на Linux?
На Linux стандартный selector-based asyncio loop обычно использует epoll через selectors для ожидания готовности файловых дескрипторов. Готовые события и таймеры возобновляют корутины.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
На Linux стандартный selector-based asyncio loop обычно использует epoll через selectors для ожидания готовности файловых дескрипторов. Готовые события и таймеры возобновляют корутины.
Неблокирующие сокеты сообщают готовность чтения/записи, а loop выполняет небольшой следующий шаг задачи. Не вся операция становится асинхронной только из-за Linux: обычное чтение файла или синхронная библиотека могут требовать executor. Альтернативные loop-реализации могут иметь другое устройство, поэтому это описание стандартного подхода, а не обязательная внутренняя реализация всех asyncio-серверов.