Erlang中的ets的选项中有一个是protected,但是我测试出来感觉有错误。
Erlang中的ets的选项中有一个是protected,但是我测试出来感觉有错误,希望大家帮忙看看。。
test_ets() -> spawn(?MODULE, dd, [self()]), receive {xx, Id} -> io:format("%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ~n", []), T = ets:tab2list(Id),//这句话报错,protected不是共享读吗? zdebug:log("xx is ~p~n", [T]) end. dd(Parent) -> Id = ets:new(session, [set, protected, {keypos, 1}]), ets:insert(Id, {1, "A"}), Parent ! {xx, Id}, Id.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
When the process terminates, the table is automatically destroyed.
http://www.erlang.org/doc/man/ets.html
估计是子进程结束 导致这个表已经无效了 所以才报错
你可以试试子进程不退出的情况