Erlang共享ETS表

时间:2012-10-24 10:36:13

标签: erlang shared ets

Erlang ETS表可以在不同进程之间共享吗?因此,如果我有两个进程在不同的Erlang运行系统上运行,我可以以某种方式链接它们,以便我在一个ETS表中做的所有更改将反映在另一个ETS表中吗?

2 个答案:

答案 0 :(得分:9)

在单个Erlang节点中,通过将public选项传递给ets:new,可以完全共享ETS表。 (请注意,如果其所有者死亡,该表将被销毁,除非您已经设置了继承人。)

如果需要跨多个Erlang节点共享表,则需要使用Mnesia。

答案 1 :(得分:4)

您不能在不同节点上的进程之间“共享”ETS表,ETS表只能由创建它的节点上的进程访问。如果要共享ETS表,则需要在一个节点(包含该表的节点)上创建一个进程,并通过此过程从另一个节点访问该表。这并不是那么困难。