13

Erlangのように並行性を持つPython、特にネットワーク上の透過的なアクターには何かありますか?グリーンレットスタックレスなどを見てきましたが、アクターにとってネットワークの透明性がないようです。

私はまだErlang/OTPのハードルを完全に乗り越えることができないので、家の近くに何かがあるかどうか興味があります。

4

7 に答える 7

7

Python をより Erlang に近づけようとする代わりに、Erlang をより Python に近づけてみませんか?

EfeneElixirは、ネットワーク透過メッセージングを含む Erlang BEAM エミュレーターのすべての機能を利用できる BEAM ファイルを生成する言語コンパイラーです。

Efene には、Python のように空白を含むブロックを定義する "ifene" バリアントがあります。それ以外は、JavaScript に最も似ています。

Elixir の構文は Ruby に最も近いものです。

どちらの言語も、Erlang よりも Python に近いです。

于 2011-04-01T23:54:15.213 に答える
3

あまり。Erlang はアクターをサポートするためにゼロから設計されましたが、Python はそうではありませんでした。法案に適合すると私が考えることができる最も近いのはCandygramライブラリですが、それでも完全ではありません.

于 2011-04-01T22:33:37.857 に答える
2

Axon/Kamaeliaをお試しください

PyPyと互換性があるため、PyPyのJITを使用して、アクター/フローベースのプログラミングと大幅に高速化された実行速度を得ることができます。

于 2011-09-06T00:52:49.250 に答える
1

私が作成し、この男にちなんで名前を付けたパッケージであるcainecaine.SupportingActorは、 python のユーザーフレンドリーな同時実行アクター モデルである を実装しています。

デフォルトでは、caine.SupportingActorクラスには次の属性/関数があります。

  • inbox: 管理されたキュー。メッセージは次のようにアクターに渡されfoo.inbox.put('bar')ます。
  • timeout: メッセージ受信からタイムアウトまでの許容秒数。
  • receive: 受信トレイからのメッセージを使用して実行する関数は、実装が必要です。
  • handle: 例外が発生したときに実行する関数。
  • callback: 処理が完了したときに実行する関数。
  • cut: 呼び出されると処理を終了します。

さらに、このcaine.SupportingCastクラスは のすべての機能を継承しcaine.SupportingActor、指定された数のアクターが同じ受信トレイからのメッセージを重複なく処理できるようにします。

于 2014-08-24T23:25:23.833 に答える
0

これは実際には同時実行性ではありませんが、Celeryは、ネットワーク上でタスクの負荷を分散するという点で、あなたが探しているものの何かを提供する可能性があります。

于 2011-09-06T01:10:33.493 に答える
0

ピッカを参照してください。エラーを処理する方法がわかりません。

于 2012-12-21T02:33:44.007 に答える
-1

また、これらの機能の一部については、stackless python を参照してください。

于 2011-04-02T02:39:20.403 に答える