1

Erlang ETS テーブルを異なるプロセス間で共有できますか? したがって、異なる Erlang 実行システムで 2 つのプロセスを実行している場合、1 つの ETS テーブルで行ったすべての変更がもう 1 つのテーブルに反映されるように、どうにかしてそれらをリンクできますか?

4

2 に答える 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 に答える