Erlang中register_name和register函数有什么区别? 两者都将PID注册为名称!
答案 0 :(得分:6)
挖掘文档,我发现register()
是erlang
模块的一部分,而register_name()
是global
模块的一部分。因此,两个函数之间的主要区别似乎是register_name()
将为Erlang节点网络全局注册名称。
全球注册名称的能力是一个核心概念 分布式Erlang系统的编程。在这个模块中, 相当于寄存器/ 2和whereis / 1 BIF(对于本地名称 注册)已实现,但适用于Erlang节点的网络。 A. 注册名称是进程标识符(pid)的别名。全球 名称服务器监视全局注册的pids。如果一个过程 终止后,该名称也将全局取消注册。
答案 1 :(得分:2)
register_name是Global模块的一部分,用于在许多节点的系统中全局注册Pids。 register / 2是Erlang模块的一部分,它将名称与本地节点的Pid相关联。