> For an alternative approach (based on using generators forming a dataflow > component system) you might find our project interesting - the core > concurrency stuff is packaged up separately with API docs (and trivial > example) here: http://kamaelia.sourceforge.net/Docs/Axon.html
Would it be correct to characterise this approach as co-operative multithreading? I have a feeling that in Python, at least, where threads and locks are not so cheap, this approach will scale rather better - at the cost of making some of the thread management explicit (I used to write WIMP programs on the Acorn Archimedes that had the same basic structure: message loop picks up messages, does some processing then explicitly relinquishes control so that other applications can take their turn). The syntax is also agreeably Pythonic. I haven't investigated Stackless in much detail, but I believe it makes a lot of these trade-offs moot - no need to simulate coroutines when you have the real thing... Anyway, thanks for this - I have linked it from the CTM in other languages page of the CTM Wiki: http://codepoetics.com/wiki/index.php?title=Topics:CTM_in_other_languages#Concurrency_in_Python Dominic -- http://mail.python.org/mailman/listinfo/python-list