Pythonのネイティブスレッドの上にCSPチャネルの実装を探しています。私はいくつかの図書館を見てきましたが、キッチンシンク以外はすべてが含まれています。Pythonでネイティブスレッドを使用するCSPチャネル
具体的には、複数のチャネルで送受信操作のセットの最初を待機し、最初に完了した操作の結果が返されたか、コールバックが呼び出されたかのいずれかを探しています。ここで
は、コンテキストのためのいくつかの関連リンクです:
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
>>>
私は内部をリファクタリングして物事を掃除の途中にいますよので、すぐにリリースの目を離しておくか、望むならオフラインで私に電子メールを送ってください。
ニースは、pycspよりもよく見えます。 –
thanks :)このリファクタリングの後、数週間後にPyPI上の「適切な」リリースを望んでいます。 – snim2
"Pythonのネイティブスレッド"とはどういう意味ですか? PythonはGILを使用しています。私が間違っていない限りネイティブマルチスレッドをサポートしていません:http://wiki.python.org/moin/GlobalInterpreterLock – NoBugs
@NoBugs:あなたは間違いです。 –