Concurrent Python

Dominic Fox dominic.fox at gmail.com
Mon Feb 14 05:10:50 EST 2005


> 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



More information about the Python-list mailing list