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首先更新函数的值,然后才会将控制返回给调用程序。


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号