gen_server:cast 和 gen_server:abcast 有什么区别
what is the difference between gen_server:cast to gen_server:abcast
当看 abcast
abcast man page,
和 cast
cast man page,我不明白这两者之间有什么区别。
谁能给我解释一下。
谢谢
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,或者对于 global
和 via
选项,任何 Erlang 术语。
gen_server:abcast/2,3
returnsabcast
,而gen_server:cast/2
returnsok
.
第一个区别是最重要的,因为它允许异步广播(即abcast
)到一组gen_server
实例一组节点。
当看 abcast
abcast man page,
和 cast
cast man page,我不明白这两者之间有什么区别。
谁能给我解释一下。
谢谢
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,或者对于global
和via
选项,任何 Erlang 术语。 gen_server:abcast/2,3
returnsabcast
,而gen_server:cast/2
returnsok
.
第一个区别是最重要的,因为它允许异步广播(即abcast
)到一组gen_server
实例一组节点。