Global Interpreter Lock: факты и мифы
«И вы ещё говорите о параллельном выполнении!..»
Erlang BEAM
Что такое GIL?
Global Interpreter Lock используется для того, чтобы только один поток
мог выполнять питоновский код и манипулировать данными в виртуальной
машине CPython. Эта блокировка отпускается и захватывается каждые
100 инструкций (по умолчанию, но можно изменить при помощи
sys.setcheckinterval()), а также перед участками кода, которые могут
выполняться длительное время и не модифицируют данные. Например, I/O.