GIL は Python インタープリターごとであると話している人をよく見かけます (ここでも stackoverflow でさえ)。
しかし、ソースコードで見たところ、GIL はグローバル変数であるため、各 Python プロセスのすべてのインタープリターに対して 1 つの GIL があるようです。lua や TCL のように渡されるインタープリター オブジェクトがないため、彼らがこれを行ったことはわかっています。最初は適切に設計されていませんでした。また、スレッド ローカル ストレージは、Python 関係者が使用するには移植性がないようです。
これは正しいです?ここでプロジェクトで使用している 2.4 バージョンを簡単に見てみました。
これは後のバージョン、特に 3.0 で変更されましたか?