[Python-Dev] Fwd: Removal of GIL through refcounting removal.

Adam Olsen rhamph at gmail.com
Fri Oct 31 19:03:16 CET 2008

On Fri, Oct 31, 2008 at 11:55 AM, Brian Granger <ellisonbg.net at gmail.com> wrote:
>>> Has anyone made the argument for keeping the GIL to discourage
>>> threading?
>> Oooh, you are on to my secret plan! :-)
> I completely agree that there are other approaches to parallelism and
> concurrency that are much better than threading.  However, I don't
> think this is a good argument for having poor support for parallel
> threads in Python (i.e. keeping the GIL).  The reason is that threads
> are extremely useful (and often required) for implementing other
> approaches to concurrency, such as message passing.  Two examples:
> Take Erlang for example.  Erlang uses a shared nothing/message passing
> approach to concurrency (Yes!).  However, Erlangs implementation of
> this approach relies heavily upon threads in the low-level of the
> interpreter.  Without this usage of threads Erlang would be able to
> provide the multicore scalability that it does using message passing.
> Same is true of MPI.  From the user's perspective MPI is just message
> passing.  But, MPI implementations use threads internally extensively.
> Bottom line: threads may be a bad end in themselves (I agree with
> this), but they are a great means to better things.

Despite the name, safethread has more to do with erlang than it does
traditional threading.  Alas,
greenmicropseudothreadactormonitortaskfibreropebobprocess is a little
too long for normal use, so I'm gonna keep calling it thread (and to
distinguish it from an OS process).

Adam Olsen, aka Rhamphoryncus

More information about the Python-Dev mailing list