查看 abcast abcast man page 时,
cast cast man page ,我不明白这两者之间有什么区别。
有人可以向我澄清这一点。

谢谢

最佳答案

gen_server:cast/2gen_server:abcast/2,3 之间存在三个区别:

  • gen_server:abcast/3 获取目标节点列表,指定可以在何处找到通过指定名称注册的 gen_server 实例,而 gen_server:abcast/2 发送到列表 [node() | nodes()] ,而 gen_server:cast/2 只能寻址单个 gen_server 实例。
  • 为了识别目标服务器,gen_server:abcast/2,3 只接受一个名字,作为一个原子,而 gen_server:cast/2 可以接受一个原子,一个 pid,或者对于 globalvia 选项,任何 Erlang 术语。
  • gen_server:abcast/2,3 返回 abcast ,而 gen_server:cast/2 返回 ok

  • 第一个区别是最重要的,因为它允许异步广播(即 abcast )到一组节点上的一组 gen_server 实例。

    关于erlang - gen_server :cast to gen_server:abcast 和有什么区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38184377/

    10-12 19:49