Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在erlang中注册全局主管和本地主管有什么区别_Erlang_Otp - Fatal编程技术网

在erlang中注册全局主管和本地主管有什么区别

在erlang中注册全局主管和本地主管有什么区别,erlang,otp,Erlang,Otp,我是erlang的新手,我正在看一些关于启动主管的文档 start_link/3功能可能返回 {local, Name :: atom()} | {global, Name :: atom()} | 文件说: If SupName={local,Name}, the supervisor is registered locally as Name using register/2. If SupName={global,Name}, the supervisor is registered g

我是erlang的新手,我正在看一些关于启动主管的文档

start_link/3功能可能返回

{local, Name :: atom()} |
{global, Name :: atom()} |
文件说:

If SupName={local,Name}, the supervisor is registered locally as Name using register/2.
If SupName={global,Name}, the supervisor is registered globally as Name using global:register_name/2.
本地注册与全球注册意味着什么

  • 本地:仅为本地节点注册pid,如果您有Erlang群集,则可以在其他节点上使用相同的名称
  • 全局:为所有Erlang群集注册此名称,并向每个节点通知此名称
发件人:

将新节点添加到网络时,将通知它们已存在的全局注册名称。网络还被告知新连接节点中的任何全局名称。如果发现任何名称冲突,则调用函数Resolve。其目的是确定哪个pid是正确的。如果函数崩溃,或返回除一个PID之外的任何其他内容,则该名称将被取消注册。此函数对于每个名称冲突调用一次


当您启动流程时,此功能适用于所有标准OTP行为。

我想,一旦我了解了分布式erlang,我会更加了解它。