[Stackless] stackless inter-thread queues

Richard Tew richard.m.tew at gmail.com
Sat Mar 14 14:05:34 CET 2009


On Sat, Mar 14, 2009 at 6:49 AM, Paul Sijben <sijben at eemvalley.com> wrote:
> I am banging my head against the wall for far too long now.
>
> For my project, I really (and urgently) need something that will give me
> Queue behavior that will work in a mixed stackless & threading
> environment. (networking & graphical user interface, a hell scheduling-wise)
>
> I have emulated this in my code but am running into race-conditions.
> The problem is that a channel.send() blocks. In my code it sometimes
> blocks on the wrong channel and hence starves the tasklet that can
> actually keep things going.
>
> So please, does someone have a working stackless Queue that works
> interthread? I am at my whit's end here.

I am not sure what this means.  Channels should work interthread, and
a queue would be built on top of channels.  So any queue implemented
in such a way should work when used between tasklets on different
threads.

What sticks out to me in your post, is that you say:
> The problem is that a channel.send() blocks. In my code it sometimes
> blocks on the wrong channel and hence starves the tasklet that can
> actually keep things going.

Is this the real problem?  Can't you solve this?

There's a queue inplementation in the uthread module:
http://code.google.com/p/stacklessexamples/source/browse/trunk/libraries/uthread-ccp/uthread.py

Cheers,
Richard.




More information about the Stackless mailing list