Ci sono tre differenze tra gen_server:cast/2
e gen_server:abcast/2,3
:
gen_server:abcast/3
prende una lista di nodi di destinazione specificando dove potrebbero essere trovati gen_server
casi registrati con il nome specificato, mentre gen_server:abcast/2
invia alla lista [node() | nodes()]
, mentre gen_server:cast/2
può indirizzare solo una singola istanza gen_server
.
- per identificare il server di destinazione,
gen_server:abcast/2,3
richiede solo un nome, come un atomo, mentre gen_server:cast/2
può prendere un atomo, un pid, o per le global
e via
opzioni, qualsiasi termine Erlang.
gen_server:abcast/2,3
restituisce abcast
, mentre gen_server:cast/2
restituisce ok
.
La prima differenza è la più importante, in quanto permette una trasmissione asincrona (cioè abcast
) ad un insieme di istanze gen_server
attraverso un insieme di nodi.
fonte
2016-07-04 12:49:08