2016-07-04 25 views

Antwort

9

Es gibt drei Unterschiede zwischen gen_server:cast/2 und gen_server:abcast/2,3:

  • gen_server:abcast/3 eine Liste von Zielknoten nimmt angeben, wo gen_server Instanzen von dem angegebenen Namen registriert gefunden werden könnten, während gen_server:abcast/2 in die Liste sendet [node() | nodes()], während gen_server:cast/2 nur eine einzige gen_server Instanz adressieren kann.
  • den Zielserver zu identifizieren, gen_server:abcast/2,3 dauert nur einen Namen, als ein Atom, während gen_server:cast/2 ein Atom nehmen, ein pid oder für die global und via Optionen, jeden Begriff Erlang.
  • gen_server:abcast/2,3 gibt abcast zurück, während gen_server:cast/2ok zurückgibt.

Der erste Unterschied ist die wichtigste, da sie für eine asynchrone Runds ermöglicht (d.h. abcast) auf einen Satz von gen_server Instanzen über einen Satz von Knoten.