GIL (Global Interpreter Lock) не влияет на asyncio в Python. 14
Это объясняется тем, что цикл событий asyncio всегда выполняется в одном потоке, поэтому блокировка не требуется и GIL не играет роли. 1 Однако если при работе с asyncio используются дополнительные потоки, то ограничения GIL действуют. 1
При этом asyncio не может запускать более одной задачи в любой момент, поэтому он не устраняет концептуальное ограничение GIL на одновременное выполнение более одной операции. 1 Кроме того, asyncio не может выполнять блокирующий код одновременно в качестве задач, но должен вернуться к потоковой обработке для них. 1
Также стоит отметить, что блокирующие операции ввода-вывода освобождают глобальную блокировку интерпретатора, поэтому их можно выполнять параллельно в различных потоках. 5