Suche…


Verwalten eines Zustands mit einem Agenten

Der einfachste Weg, einen Status zu umschließen und auf ihn zuzugreifen, ist Agent . Mit dem Modul kann ein Prozess erzeugt werden, der eine beliebige Datenstruktur enthält und Nachrichten zum Lesen und Aktualisieren dieser Struktur sendet. Dadurch wird der Zugriff auf die Struktur automatisch serialisiert, da der Prozess jeweils nur eine Nachricht verarbeitet.

iex(1)> {:ok, pid} = Agent.start_link(fn -> :initial_value end)
{:ok, #PID<0.62.0>}
iex(2)> Agent.get(pid, &(&1))
:initial_value
iex(3)> Agent.update(pid, fn(value) -> {value, :more_data} end)
:ok
iex(4)> Agent.get(pid, &(&1))
{:initial_value, :more_data}


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow