erl0004 - ets 安全遍历
2024-09-15 18:45:39
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会确保成功,并且表中的每个对象只会返回一次,即使在遍历的过程中有对象被删除或插入。
最新文章
- C#语言基础——函数
- mysql innodb 奔溃问题
- Oracle date 和 timestamp 区别
- 六、通过插件如何创建自己的MEL command
- ViewPager中使用PhotoView时出现pointerIndex out of range异常
- 深入了解Javascript模块化编程
- [原]《打造未来的Java》视频笔记
- Codeforces 114A-Cifera(暴力)
- xcode UIButton创建、监听按钮点击、自定义按钮 、状态 、内边距
- C++ Primer 学习笔记_98_特殊的工具和技术 --优化内存分配
- GIT用服务器上的版本强制覆盖掉本地的版本(转)
- Protocol Buffer和JSON性能比较
- 点击按钮颜色变深.通过ColorFilter ColorMatrix
- july教你如何迅速秒杀掉:99%的海量数据处理面试题
- mac命令行对复杂ipa包重新签名
- LeetCode 105. Construct Binary Tree from Preorder and Inorder Traversal (用先序和中序树遍历来建立二叉树)
- Effective Java 之-----谨慎的覆盖clone方法
- Selenium简介与环境搭配-----Selenium快速入门(一)
- 快照(Snapshot)技术发展综述
- docker挂载点泄露问题