[Stackless] microthreads

Christian Tismer tismer at tismer.com
Sun Feb 16 01:46:21 CET 2003


Eggert J. Magnússon wrote:
> Well, we (at CCP) have mutated Tismer's version of uthread.py a bit, so 
> we don't have that running without a special driver.
> 
> However, I dug up this bastardized version on my hard drive, it 
> was Tismer's first cut at a conversion.  It should work fine,
> but as this is my home computer, I don't even know if it
> checks for syntax (it uses fancy new function(*args,**kw) syntax, 
> and I haven't installed anything above 1.5.2).
> 
> It may be that we've removed some of the functionality, I seem to 
> recall a synchronizer in there (let's just leave that as an 
> excercise for the reader).  Apart from that, the API should work
> the same way as it did originally.  

The last version of uthread.py was much, much more elaborate
than this one, but I think it is good to have a small and
simple version like this. If anybody needs the functionality
of the old module, it might be better to implement it on
top of this.
So we might get to some kind of layered structure:
One layer building what uthreads basically are,
and in fact, they are not much more than tasklets.
Another layer can implement locks, mutextes, all that
stuff that real threads have.

I'm no specialist on threading at all. The way I use
Stackless is different, but I'm encouraging everybody
to put some work into this.

There is one losrt feature still: uthreads can't have
pre-emptive scheduling right now, since Stackless 2.0
is too powerful to allow this.
STackless 3.0 will re-enable this. It thould be there,
already, but I was distracted a bit by several things,
especially the PyPy project.

cheers -- chris

-- 
Christian Tismer             :^)   <mailto:tismer at tismer.com>
Mission Impossible 5oftware  :     Have a break! Take a ride on Python's
Johannes-Niemeyer-Weg 9a     :    *Starship* http://starship.python.net/
14109 Berlin                 :     PGP key -> http://wwwkeys.pgp.net/
work +49 30 89 09 53 34  home +49 30 802 86 56  pager +49 173 24 18 776
PGP 0x57F3BF04       9064 F4E1 D754 C2FF 1619  305B C09C 5A3B 57F3 BF04
      whom do you want to sponsor today?   http://www.stackless.com/


_______________________________________________
Stackless mailing list
Stackless at www.tismer.com
http://www.tismer.com/mailman/listinfo/stackless




More information about the Stackless mailing list