2

これは一部の erlang ベテランにとっては些細な質問かもしれませんが、ドキュメントでは明確ではなかったので知っておくとよいでしょう。多くの分散システム アルゴリズムは、一意の pid の比較可能性を利用して決定を下します。Erlang は親切にも pid の組み込み比較を提供してくれますが、ローカル pid と外部 pid の両方を参照する複数のマシン間で比較の一貫性が保たれるかどうか、私は迷っていました。比較の保証はないと思いますが、間違っているかもしれませんね。

4

1 に答える 1

4

Erlang は単純なプロセス ID 以上のものを PID 構造体に格納します。データには、リモート ノードの一意の識別子が含まれます (別のローカル VM かリモート VM かに関係なく)。

Erlang で Pid の構造を説明できる人はいますか?を参照してください。詳細については。

したがって、少なくともコードのどこかでエラーを発生させずに、間違った VM の間違った PID にメッセージを送信しない (または受信したメッセージのソースを誤って解釈しない) ことが保証されます。

更新: 間違った質問に答えていた可能性があります。比較がどのように機能するかを尋ねている場合 (たとえば、Pid1 < Pid2 の場合、Pid1 がローカルかリモートか)、ある程度自信を持って述べることができるのは、http: //learnyousomeerlang.comに基づいて、順序が一定になるということだけです。/starting-out-for-real#bool-and-compare .

于 2012-10-09T19:00:03.453 に答える