我正在寻找在 Python 的本机线程之上实现 CSP 通道。我看过一些图书馆,但它们包括除了厨房水槽之外的所有东西。
具体来说,我正在寻找能够在多个通道上等待一组发送和接收操作中的第一个,或者将第一个完成操作的结果返回给我,或者调用一个回调。
以下是一些相关的上下文链接:
我正在寻找在 Python 的本机线程之上实现 CSP 通道。我看过一些图书馆,但它们包括除了厨房水槽之外的所有东西。
具体来说,我正在寻找能够在多个通道上等待一组发送和接收操作中的第一个,或者将第一个完成操作的结果返回给我,或者调用一个回调。
以下是一些相关的上下文链接:
是的,我的库 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
>>>
我正在重构内部结构和清理工作,所以请密切关注即将发布的版本,或者如果您愿意,可以随时通过电子邮件向我发送离线信息。