1

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

4

2 回答 2

10

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

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

于 2012-10-24T10:52:12.957 回答
4

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

于 2012-10-24T22:04:10.537 回答