Erlang共享ETS表

Erlang共享ETS表,erlang,shared,ets,Erlang,Shared,Ets,Erlang ETS表能否在不同进程之间共享?因此,如果我有两个进程在不同的Erlang运行系统上运行,我是否可以将它们链接起来,以便我在一个ETS表中所做的所有更改都反映在另一个ETS表中?在单个Erlang节点中,通过将public选项传递到ETS:new可以完全共享ETS表。(不过,要注意,如果桌子的主人死了,桌子会被毁掉,除非你已经设立了继承人。) 如果需要跨多个Erlang节点共享表,则需要使用Mnesia。在单个Erlang节点中,可以通过将public选项传递到ETS:new来完全

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

在单个Erlang节点中,通过将
public
选项传递到
ETS:new
可以完全共享ETS表。(不过,要注意,如果桌子的主人死了,桌子会被毁掉,除非你已经设立了继承人。)


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

在单个Erlang节点中,可以通过将
public
选项传递到
ETS:new
来完全共享ETS表。(不过,要注意,如果桌子的主人死了,桌子会被毁掉,除非你已经设立了继承人。)


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

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

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

看一看看我想使用ETS表来维持不同节点之间的“共享”状态。我没有考虑记忆,因为在更新密集型任务中,记忆速度会慢得多。据我所知,记忆是建立在ETS和DET之上的。因此,它不应该比自定义实现更能降低应用程序的速度,而是为您带来健壮性和文档。可能有人可以就选择使用的事务(同步/异步、脏或不脏)提供建议。我想使用ETS表来维护不同节点之间的“共享”状态。我没有考虑Mnesia,因为这在更新密集型任务中会慢得多。据我所知,Mnesia是建立在ETS和DET之上的。因此,它不应该比自定义实现更能降低应用程序的速度,而是为您带来健壮性和文档。可能有人可以就要使用的事务的选择提供建议(同步/异步、脏或不脏)