[Python-Dev] The endless GIL debate: why not remove thread support instead?
Sturla Molden
sturla at molden.no
Fri Dec 12 12:23:34 CET 2008
On 12/12/2008 11:52 AM, Lennart Regebro wrote:
> The use of threads for load balancing should be discouraged, yes. That
> is not what they are designed for. Threads are designed to allow
> blocking processes to go on in the background without blocking the
> main process.
It seems that most programmers with Java or Windows experience don't
understand this; hence the ever lasting GIL debate.
With multiple interpreters - one interpreter per thread - this could
still be accomplished. Let one interpreter block while another continues
to work. Then the result of the blocking operation is messaged back.
Multi-threaded C libraries could be used the in same way. But there
would be no need for a GIL, because each interpreter would be a
single-threaded compartment.
.NET have something similar in what is called 'appdomains'.
I am not suggesting removal of threads but rather the Java threading
model. I just think it is a mistake to let multiple OS threads touch the
same interpreter.
Sturla Molden
More information about the Python-Dev
mailing list