Clojure-awaitfor

提供:Dev Guides
移動先:案内検索

Clojure-お待ちしています

エージェントの値が更新されると遅延が発生するため、Clojureはエージェントの更新を待機する時間をミリ秒単位で指定するために使用される「待機」機能を提供しました。

構文

構文は次のとおりです。

(await-for time agentname)

パラメータ-「エージェント名」は、「待機」機能を設定するエージェントです。 「時間」はミリ秒単位の待機時間です。

戻り値-タイムアウトのために戻る場合は論理falseを返し、そうでない場合は論理trueを返します。

これがどのように使用されるかの例は、次のプログラムに示されています。

(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)

出力

上記のプログラムは、次の出力を生成します。

0
true
100

上記のプログラムから、「待機」機能に遅延が組み込まれ、Clojureがエージェントの値を更新できるため、エージェントの値がすぐに画面に出力されることがわかります。