Erlang分布式Tuple Spaces:addNode函数实现及代码可行性咨询
分布式并发环境下基于Mnesia实现元组空间的addNode函数疑问
需求背景
我需要在分布式并发环境下,用Mnesia实现元组空间(Tuple Spaces),该接口需要提供以下函数:
new(name):创建名为name的新元组空间(即新Mnesia表)in(TS, Pattern):返回匹配Pattern的元组并从TS中删除,无匹配则阻塞rd(TS, Pattern):返回匹配Pattern的元组但保留在TS中,无匹配则阻塞out(TS, Tuple):将Tuple存入TSin(TS, Pattern, Timeout):功能同in,但超时后返回{ok,Tuple}或{err, timeout}rd(TS, Pattern, Timeout):功能同rd,但超时后返回{ok,Tuple}或{err, timeout}addNode(TS, Node):将Node加入TS,使其可访问TS的所有元组removeNode(TS, Node):从TS中移除Nodenodes(TS):返回TS可见/复制到的节点列表
具体疑问
我完全不知道该如何实现addNode函数,请问能不能用下面这段代码来实现?
register(node_name,spawn_link(fun()-> mnesia:add_table_copy(tab_name, node_name, disc_copies) end)
内容的提问来源于stack exchange,提问作者cogo71
相关产品推荐
相关产品推荐

