2016-07-04 50 views

risposta

9

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.

Problemi correlati