In article <[EMAIL PROTECTED]>, Konstantin Veretennicov <[EMAIL PROTECTED]> wrote:
> On 22 Jun 2005 17:50:49 -0700, Paul Rubin > <"http://phr.cx"@nospam.invalid> wrote: > > > Even on a multiprocessor > > system, CPython (because of the GIL) doesn't allow true parallel > > threads, ... . > > Please excuse my ignorance, do you mean that python threads are always > scheduled to run on the same single CPU? Or just that python threads > are often blocked waiting for GIL? Any thread may execute "inside" the interpreter, but not concurrently with another. I don't see the original point, though. If you have a C application with no GIL, the queueing model is just as useful -- more, because a GIL avoids the same kind of concurrency problems in your application that it intends to avoid in the interpreter. Rigorous application of the model can be a little awkward, though, if you're trying to adapt it to a basically procedural application. The original Stackless Python implementation had some interesting options along those lines. Donn Cave, [EMAIL PROTECTED] -- http://mail.python.org/mailman/listinfo/python-list