为什么要为 ETS table 指定一个名称,而不是 named_table?
Why to assign a name for an ETS table that is not a named_table?
为通过 ets:new/2
创建的没有 named_table
标志的 ETS 表提供名称有什么意义?我放在那里有什么不同吗?
使用 ETS table 创建时没有 named_table 标志:
- 您可以为不同的 table 多次使用相同的名称。
- 您不能使用该名称访问那些 table,您必须使用 table 标识符(如果尝试,您会收到异常错误,可能会破坏 table如果您在 ETS 所有者流程中执行此操作)。
- 在观察者的Table查看器中,显示的不是named_table的名字,所以无论如何给一个有意义的名字会很有趣。
此功能很有用,例如,当代码生成相同的进程或一组进程时,运行 并行并使用各自的 ETS table。
为通过 ets:new/2
创建的没有 named_table
标志的 ETS 表提供名称有什么意义?我放在那里有什么不同吗?
使用 ETS table 创建时没有 named_table 标志:
- 您可以为不同的 table 多次使用相同的名称。
- 您不能使用该名称访问那些 table,您必须使用 table 标识符(如果尝试,您会收到异常错误,可能会破坏 table如果您在 ETS 所有者流程中执行此操作)。
- 在观察者的Table查看器中,显示的不是named_table的名字,所以无论如何给一个有意义的名字会很有趣。
此功能很有用,例如,当代码生成相同的进程或一组进程时,运行 并行并使用各自的 ETS table。