erlang - 为什么要为不是 named_table 的 ETS 表分配名称?
问题描述
ets:new/2
为通过不带named_table
标志创建的 ETS 表提供名称有什么意义?我放在那里有什么不同吗?
解决方案
使用不带 named_table 标志创建的 ETS 表:
- 您可以为不同的表多次使用相同的名称。
- 您不能使用名称来访问这些表,您必须使用表标识符(如果您尝试,则会收到异常错误,如果您在 ETS 所有者进程中执行此操作,可能会破坏表)。
- 在观察者的表查看器中,显示了 notnamed_table 的名称,因此无论如何给出一个有意义的名称可能会很有趣。
此功能很有用,例如,当代码生成相同的进程或一组进程,并行运行并使用各自的 ETS 表时。
推荐阅读
- node.js - npm 不编译在生产服务器上所做的更改
- java - 计算某些文本行中字母的频率
- php - 从不同的路径运行 Wordpress/NGINX
- redirect - 单击 JSF 和 html 页面中的添加按钮后重定向到列表页面
- html - 无法在列的 100% 高度上制作表格中的按钮
- python - 使用此代码,它工作得很好,但是当加载 48 行 [''] 时它会中断,有谁知道如何解决它?
- c - Lex 和 Yacc,如何从变量中获取值?(初学者)
- windows - 如何从 bat 脚本变量中找到的父文件夹中删除子文件夹和文件?
- go - 多态地使用匿名函数传递
- unix - 如何解释“waitpid 函数不等待首先终止的孩子;”?