Clojure 中的 await函数

首页 / Clojure入门教程 / Clojure 中的 await函数

阻塞当前线程,直到发生从该线程或代理分发到代理的所有操作为止。将阻止失败的代理。

await - 语法

(await agentname)

参数      -  " agentname"是应将await函数设置为的代理。

返回值  -  无。

await - 示例

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

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

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

深入浅出区块链 -〔陈浩〕

人人都用得上的写作课 -〔涵柏〕

基于人因的用户体验设计课 -〔刘石〕

Spark性能调优实战 -〔吴磊〕

程序员的测试课 -〔郑晔〕

PyTorch深度学习实战 -〔方远〕

超级访谈:对话张雪峰 -〔张雪峰〕

Python实战 · 从0到1搭建直播视频平台 -〔Barry〕

B端产品经理入门课 -〔董小圣〕

好记忆不如烂笔头。留下您的足迹吧 :)