Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
Erlang ETS 表可以在不同进程之间共享吗?因此,如果我有两个进程在不同的 Erlang 运行系统上运行,我能否以某种方式链接它们,以便我在一个 ETS 表中所做的所有更改都会反映在另一个表中?
在单个 Erlang 节点中,ETS 表可以通过传递public选项来完全共享ets:new。(但请注意,如果其所有者死亡,则该表将被销毁,除非您设置了继承人。)
public
ets:new
如果需要跨多个 Erlang 节点共享表,则需要使用 Mnesia。
您不能在不同节点上的进程之间“共享”ETS 表,ETS 表只能由创建它的节点上的进程访问。如果要共享 ETS 表,则需要在一个节点上创建一个进程,即具有该表的节点,并通过此进程从另一个节点访问该表。这并不是那么困难。