Asyncio переключает корутины кооперативно в event loop, поэтому для ожидания I/O ему не требуется одновременное выполнение Python-потоков. GIL и асинхронность решают разные вопросы.
Как GIL влияет на асинхронность в Python?
Asyncio переключает корутины кооперативно в event loop, поэтому для ожидания I/O ему не требуется одновременное выполнение Python-потоков. GIL и асинхронность решают разные вопросы.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Asyncio переключает корутины кооперативно в event loop, поэтому для ожидания I/O ему не требуется одновременное выполнение Python-потоков. GIL и асинхронность решают разные вопросы.
В одном loop корутины обычно исполняются по очереди и уступают управление на ожиданиях. CPU-цикл блокирует loop независимо от того, есть ли GIL. Для тяжёлых вычислений выбирают процессы либо нативный код, а для блокирующего I/O — поток или асинхронную библиотеку. Удаление GIL само по себе не превращает синхронную функцию в неблокирующую.