Я часто вижу, как люди говорят, что GIL предназначен для интерпретатора Python (даже здесь, в stackoverflow).
Но то, что я вижу в исходном коде, похоже, что GIL - это глобальная переменная, и поэтому существует один GIL для всех интерпретаторов в каждом процессе Python. Я знаю, что они сделали это, потому что здесь нет объекта-интерпретатора, который передается, как lua или TCL, просто он изначально был плохо спроектирован. И локальное хранилище потоков кажется непереносимым для использования разработчиками Python.
Это правильно? Я кратко ознакомился с версией 2.4, которую использую в этом проекте.
Изменилось ли это в более поздних версиях, особенно в 3.0?