Overcoming the GIL in Python
russell: I have been interested in this issue for a long time, but haven't dug into it enough to be authoritative.The GIL isn't going to be fixed until someone rewrites the interpreter, a task for a genius with time on his hands.  I don't think managing the GIL in C will do what you want.  If it were easy, someone would have done it.  If I were you, I would go go with a package that implements a good message passing model a la Erlang.  It would be a good experience.  Alternatively, you could look at Jython or Iron Python which are built on top of vms with native thread support.