码迷,mamicode.com
首页 > 其他好文 > 详细

ets 安全遍历

时间:2015-01-19 17:09:47      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:

safe_fixtable(Tab, true|false) -> true
        Types:
              Tab = tid() | atom()

锁定set,bag和duplicate_bag类型的表,确保遍历安全。进程通过调用safe_fixtable(Tab,true)来锁定一个表。直到进程调用safe_fixtable(Tab, false)或者进程结束,表才被释放。
如果有多个进程锁定表,表会一直保持锁定直到所有的进程都释放了表(或进程结束)。会有一个引用计算器,对每个进程做引用计数,N次连续锁定需要N次释放才能真正释放表。当表被锁定后,后续调用first/1和next/2会确保成功,并且表中的每个对象只会返回一次,即使在遍历的过程中有对象被删除或插入。

ets 安全遍历

标签:

原文地址:http://www.cnblogs.com/rsblog/p/4234190.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!