Clojure 中的 await

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

由于更新代理的值存在延迟,因此Clojure提供了"await-for"函数,该函数用于指定等待代理更新的时间(以毫秒为单位)。

await-for - 语法

(await-for time agentname)

参数      -  " agentname"是应将" await-for"函数设置为其的代理, "time"是等待的时间(以毫秒为单位)。

无涯教程网

返回值  -  如果由于超时而返回,则返回逻辑假,否则返回逻辑真。

await-for - 示例

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

链接:https://www.learnfk.comhttps://www.learnfk.com/clojure/clojure-awaitfor.html

来源:LearnFk无涯教程网

(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

您可以从上面的程序中看到代理的值会立即显示在屏幕上,因为"wait-for"函数包含一个延迟,这使Clojure可以更新代理的值。

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

技术教程推荐

Service Mesh实践指南 -〔周晶〕

如何设计一个秒杀系统 -〔许令波〕

Electron开发实战 -〔邓耀龙〕

分布式协议与算法实战 -〔韩健〕

流程型组织15讲 -〔蒋伟良〕

如何落地业务建模 -〔徐昊〕

React Native 新架构实战课 -〔蒋宏伟〕

后端工程师的高阶面经 -〔邓明〕

PPT设计进阶 · 从基础操作到高级创意 -〔李金宝(Bobbie)〕

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