You may want to take a look at the latest version of “stacklesslib”, particularly the stacklesslib.wait module. We now have “waitable” channels, so that you can do similar things to select, e.g.
c1 = stacklesslib.wait.WaitChannel() c2 = stacklesslib.wait.WaitChannel() … for c in stacklesslib.wait.iwait([c1, c2]): if c is c1: percolate() elif c is c2: promulgate() A “WaitChannel” is ready when its balance is non-zero. There are also “Sendable” and “Receivable” adapters for WaitChannels to in order to wait for either positive or negative balance. The stacklesslib.util.QueueChannel() is a channel with a fifo queue, which can be either unbounded (the default) or have a maximum length. This is, I believe, similar to Go’s channels. K From: [email protected] [mailto:[email protected]] On Behalf Of Christian Tismer Sent: 18. maí 2014 00:00 To: The Stackless Python Mailing List Subject: Re: [Stackless] goless On 18.04.14 12:46, Kristján Valur Jónsson wrote: Hi, I though’t I’d mention here an experimental problem that a few of my colleagues worked on during PyCon: Goless! http://goless.readthedocs.org/en/latest/index.html It also shows how more complex behavior can be built on top of the relatively simple primitives that stackless provides. (a bit late, but anyway better than never) Yes, quite neat thing. This could be used as an interesting example for the Stackless talk. cheers - Chris p.s.: actually, I'm studying Go a bit, in order to understand how they do stuff, how they lock, how they schedule, ... -- Christian Tismer :^) [email protected]<mailto:[email protected]> Software Consulting : http://www.stackless.com/ Karl-Liebknecht-Str. 121 : http://www.pydica.net/ 14482 Potsdam : GPG key -> 0xFB7BEE0E phone +49 173 24 18 776 fax +49 (30) 700143-0023
_______________________________________________ Stackless mailing list [email protected] http://www.stackless.com/mailman/listinfo/stackless
