Feb. 10, 2012
3:12 p.m.
On 2012-02-10, at 15:59 , Stefan Behnel wrote:
GIL + Threads = Simplified, non parallel interpreter
Note that this also applies to PyPy, so even "interpreter" isn't enough of a generalisation.
I think it's best to speak of the GIL as what it is: a lock that protects internal state of the CPython runtime (and also some external code, when used that way). Rather convenient, if you ask me.
It is very convenient from the viewpoint of implementing the interpreter, but you must acknowledge that it comes with quite severe limitations on the ability of user code to take advantage of computing resources.