Erlang 中的 register_name 函数和寄存器函数有什么区别



Erlang 中的 register_name 函数和寄存器函数有什么区别?两者都将PID注册为名称!

挖掘

文档,我发现register()erlang模块的一部分,而register_name()global模块的一部分。因此,这两个函数之间的主要区别在于register_name()将为 Erlang 节点网络全局注册一个名称。

全局注册名称的能力是 分布式 Erlang 系统的编程。在本模块中, 相当于寄存器/2 和 whereis/1 BIF(对于本地名称) 注册)实现,但用于 Erlang 节点网络。一个 注册名称是进程标识符 (PID) 的别名。全球 名称服务器监视全局注册的 PID。如果一个进程 终止后,该名称也将全局取消注册。

register_name是

全局模块的一部分,处理跨多个节点的系统全局注册Pid。 register/2 是 Erlang 模块的一部分,它将名称与本地节点的 Pid 相关联。

最新更新