Clojure await
2018-12-27 16:46 更新
阻塞当前线程(无限期!),直到从此线程或代理到目前为止所有分派到代理的动作发生。 将阻止失败的代理。
语法
以下是 await 基本语法:
(await agentname)
参数 − 'agentname'是应为其设置await函数的代理程序。
返回值 − 无.
例
下面的程序显示了如何使用meta的示例。
(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)
输出
以上示例输出以下结果:
0 100
从上面的程序可以看出,代理的值立即打印到屏幕上,因为await函数将等待Clojure首先更新函数的值,然后才会将控制返回给调用程序。
以上内容是否对您有帮助:
更多建议: