Clojure - en attente

Puisqu'il y a un délai lorsqu'une valeur d'un agent est mise à jour, Clojure a fourni une fonction «en attente» qui est utilisée pour spécifier le temps en millisecondes à attendre que l'agent soit mis à jour.

Syntaxe

Voici la syntaxe.

(await-for time agentname)

Parameters- 'agentname' est l'agent pour lequel la fonction 'await-for' doit être définie sur. «time» est le temps d'attente en millisecondes.

Return Value - Renvoie une valeur logique fausse si elle est renvoyée en raison d'un délai d'expiration, sinon renvoie une valeur logique vraie.

Exemple

Un exemple sur la façon dont cela est utilisé est montré dans le programme suivant.

(ns clojure.examples.example
   (:gen-class))
(defn Example []
   (def counter (agent 0))
   (println @counter)
   
   (send-off counter + 100)
   (println (await-for 100 counter))
   (println @counter)
   
   (shutdown-agents))
(Example)

Production

Le programme ci-dessus produit la sortie suivante.

0
true
100

Vous pouvez voir à partir du programme ci-dessus que la valeur de l'agent est immédiatement imprimée à l'écran car la fonction 'wait-for' incorporait un délai, ce qui permettait à Clojure de mettre à jour la valeur de l'agent.

clojure_agents