【问题标题】:what is the difference between gen_server:cast to gen_server:abcastgen_server:cast 到 gen_server:abcast 有什么区别
【发布时间】:2016-11-06 03:58:51
【问题描述】:

abcastabcast man page时,
castcast man page,我不明白这两者有什么区别。
有人可以向我澄清一下吗?

谢谢

【问题讨论】:

    标签: erlang erlang-otp gen-server


    【解决方案1】:

    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

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

    【讨论】:

      猜你喜欢
      • 2015-12-18
      • 2016-12-01
      • 2012-05-01
      • 2010-10-02
      • 2011-12-12
      • 2010-09-16
      • 2012-03-14
      • 2012-02-06
      • 2011-02-25
      相关资源
      最近更新 更多