什么是小组组长

时间:2016-03-30 20:11:04

标签: elixir

我正在尝试配置,什么是组长以及它与I / O模块的关系,但在互联网上找不到任何有用的东西。有人可以解释一下吗?

我有以下情形来自elixir 1.2书(Dave Thomas):
enter image description here

在第二个窗口,他为什么通过:erlang_group_leader?它有什么好处?

1 个答案:

答案 0 :(得分:9)

here

group_leader(GroupLeader, Pid) -> true
     

返回评估函数的进程的组长的进程标识符。

     

每个流程都是某个流程组的成员,所有群组都有一个群组负责人。该组中的所有I / O都被引导至组长。当产生新进程时,它将与产生进程获得相同的组长。最初,在系统启动时,init既是自己的组长,又是所有进程的组长。

GroupLeader = Pid = pid()
     

类型:

See also group_leader/0.
     

将Pid的组长设置为GroupLeader。通常,当从某个shell启动的进程要有另一个组长而不是init时,会使用此方法。

{{1}}

还有一些From documentation

  

通过使用进程对IO设备建模,Erlang VM允许同一网络中的不同节点交换文件进程,以便在节点之间读/写文件。在所有IO设备中,每个流程都有一个特殊的:组长。

     

可以按流程配置组长,并在不同情况下使用。例如,在远程终端中执行代码时,它可以保证远程节点中的消息被重定向并在触发请求的终端中打印。