Erlang ETS テーブルを異なるプロセス間で共有できますか? したがって、異なる Erlang 実行システムで 2 つのプロセスを実行している場合、1 つの ETS テーブルで行ったすべての変更がもう 1 つのテーブルに反映されるように、どうにかしてそれらをリンクできますか?
質問する
1642 次
2 に答える
10
public
オプションを に渡すことで、単一の Erlang ノード内で ETS テーブルを完全に共有できますets:new
。(ただし、相続人を設定していない限り、テーブルの所有者が死亡するとテーブルが破壊されることに注意してください。)
複数の Erlang ノードでテーブルを共有する必要がある場合は、Mnesia を使用する必要があります。
于 2012-10-24T10:52:12.957 に答える
4
異なるノード上のプロセス間で ETS テーブルを「共有」することはできません。ETS テーブルは、それが作成されたノード上のプロセスによってのみアクセス可能です。ETS テーブルを共有する場合は、1 つのノード (テーブルを持つノード) でプロセスを作成し、このプロセスを通じて他のノードからテーブルにアクセスする必要があります。それほど難しいことではありません。
于 2012-10-24T22:04:10.537 に答える