CSP在Python中使用本机线程进行通道

时间:2011-12-18 10:33:38

标签: python python-3.x channel alt

我正在寻找在Python中的本机线程之上实现CSP通道。我见过一些图书馆,但除了厨房水槽外,还包括其他所有图书馆。

具体来说,我正在寻找能够在多个通道上等待第一组发送和接收操作的能力,并将第一个已完成操作的结果返回给我,或者调用回调。

以下是一些相关的上下文链接:

1 个答案:

答案 0 :(得分:1)

是的,我的库python-csp拥有所有这些。您可以在此处获取图书馆:https://github.com/futurecore/python-csp

这是一个简单的例子,包含频道和ALTing(也称为非确定性选择):

>>> @process
... def send_msg(chan, msg):
...     chan.write(msg)
... 
>>> @process
... def alt_example(chan1, chan2):
...     alt = Alt(chan1, chan2)
...     print alt.select()
...     print alt.select()
... 
>>> c1, c2 = Channel(), Channel()
>>> Par(send_msg(c1, 'yes'), send_msg(c2, 'no'), alt_example(c1, c2)).start()
yes
no
>>>

我正在重构内部和清理内容,所以请尽快留意发布,或者如果您愿意,可以随时通过电子邮件向我发送电子邮件。