gen_server:cast to gen_server:abcast有什么区别?

Mat*_*roh 6 erlang erlang-otp gen-server

当寻找abcast abcast手册页,
cast 投手册页,我不明白什么是这两个之间的区别.
有人可以向我澄清这一点.

谢谢

Ste*_*ski 8

gen_server:cast/2和之间有三个区别gen_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或任何Erlang术语globalvia选项.
  • gen_server:abcast/2,3返回abcast,而gen_server:cast/2返回ok.

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