Clojure: aspetta
Blocca il thread corrente (indefinitamente!) Finché tutte le azioni inviate fino a quel momento, da questo thread o agente, agli agenti non si sono verificate. Blocca sugli agenti falliti.
Sintassi
Di seguito è riportata la sintassi.
(await agentname)
Parameters - "agentname" è l'agente per cui deve essere impostata la funzione di attesa.
Return Value - Nessuno.
Esempio
Un esempio di come viene utilizzato è mostrato nel seguente programma.
(ns clojure.examples.example
(:gen-class))
(defn Example []
(def counter (agent 0))
(println @counter)
(send-off counter + 100)
(await counter)
(println @counter)
(shutdown-agents))
(Example)
Produzione
Il programma precedente produce il seguente output.
0
100
Puoi vedere dal programma sopra che il valore dell'agente viene stampato immediatamente sullo schermo perché la funzione di attesa attenderà che Clojure aggiorni prima il valore della funzione e solo allora restituirà il controllo al programma chiamante.
clojure_agents