On Tue, 22 Apr 2008 13:45:32 -0700 Dennis Lee Bieber <[EMAIL PROTECTED]> wrote: > On Tue, 22 Apr 2008 13:25:07 -0400, "D'Arcy J.M. Cain" <[EMAIL PROTECTED]> > declaimed the following in comp.lang.python: > > > > I think that there are two things that you need to wrap your head > > around before understanding what is happening here. First, threads are > > NOT pre-emptive. Unless your thread gives up the processor it will run > > forever. The sleep call is one way to give up the processor. > > > When did that change take place? > > As I recall, the Python interpreter is supposed to preempt a (pure > Python) thread after some 10 or 100 (I think the value changed some > years ago) bytecodes.
It sounds to me like you are talking about when the interpreter grabs and releases the GIL but I was talking about when it releases the processor. I certainly never said that sleep() was the only way to release the processor. I was not actually aware that running a certain number of bytecodes was another way but as I said, we never saw the code for the thread so we don't know what it is doing or what extensions it might be calling. It *may* be pure Python but we don't know. -- D'Arcy J.M. Cain <[EMAIL PROTECTED]> | Democracy is three wolves http://www.druid.net/darcy/ | and a sheep voting on +1 416 425 1212 (DoD#0082) (eNTP) | what's for dinner. -- http://mail.python.org/mailman/listinfo/python-list