erlang - ¿Cuál es la diferencia entre gen_server: cast to gen_server: abcast
otp gen-server (1)
Hay tres diferencias entre gen_server:cast/2
y gen_server:abcast/2,3
:
-
gen_server:abcast/3
toma una lista de nodos objetivo especificando dónde segen_server
instanciasgen_server
registradas por el nombre especificado, mientrasgen_server:abcast/2
envía a la lista[node() | nodes()]
[node() | nodes()]
, mientras quegen_server:cast/2
puede direccionar solo una instancia degen_server
. - Para identificar el servidor de destino,
gen_server:abcast/2,3
toma solo un nombre, como un átomo, mientras quegen_server:cast/2
puede tomar un átomo, un pid o, para las opcionesglobal
y devia
, cualquier término de Erlang. -
gen_server:abcast/2,3
devuelveabcast
, mientras quegen_server:cast/2
devuelveok
.
La primera diferencia es la más importante, ya que permite una difusión asincrónica (es decir, abcast
) a un conjunto de instancias gen_server
través de un conjunto de nodos.
Al mirar la abcast
abcast man de abcast ,
y la página de cast
cast man , no pude entender cuál es la diferencia entre esos dos.
¿Puede alguien aclararme esto?
Gracias