当前位置: 首页 > 文档资料 > Clojure 中文教程 >

await

优质
小牛编辑
126浏览
2023-12-01

阻止当前线程(无限期!),直到到目前为止从该线程或代理程序发送到代理程序的所有操作都已发生。 将阻止失败的代理。

语法 (Syntax)

以下是语法。

(await agentname)

Parameters - 'agentname'是应将await函数设置为的代理程序。

Return Value - 无。

例子 (Example)

以下程序显示了如何使用它的示例。

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

输出 (Output)

上述程序产生以下输出。

0
100

您可以从上面的程序中看到代理的值立即打印到屏幕上,因为await函数将等待Clojure首先更新函数的值,然后才会将控制权返回给调用程序。