- Clojure 教程
- Clojure - 首页
- Clojure - 概述
- Clojure - 环境
- Clojure - 基本语法
- Clojure - REPL
- Clojure - 数据类型
- Clojure - 变量
- Clojure - 运算符
- Clojure - 循环
- Clojure - 决策
- Clojure - 函数
- Clojure - 数字
- Clojure - 递归
- Clojure - 文件 I/O
- Clojure - 字符串
- Clojure - 列表
- Clojure - 集合
- Clojure - 向量
- Clojure - 映射
- Clojure - 命名空间
- Clojure - 异常处理
- Clojure - 序列
- Clojure - 正则表达式
- Clojure - 断言
- Clojure - 解构
- Clojure - 日期和时间
- Clojure - 原子
- Clojure - 元数据
- Clojure - StructMaps
- Clojure - 代理
- Clojure - 观察者
- Clojure - 宏
- Clojure - 参考值
- Clojure - 数据库
- Clojure - Java 接口
- Clojure - 并发编程
- Clojure - 应用
- Clojure - 自动化测试
- Clojure - 库
- Clojure 有用资源
- Clojure - 快速指南
- Clojure - 有用资源
- Clojure - 讨论
Clojure - await-for
由于更新代理的值时存在延迟,Clojure 提供了一个“await-for”函数,用于指定等待代理更新的时间(以毫秒为单位)。
语法
以下是语法。
(await-for time agentname)
参数 - “agentname” 是要为其设置“await-for”函数的代理。“time” 是要等待的时间(以毫秒为单位)。
返回值 - 如果由于超时而返回,则返回逻辑假,否则返回逻辑真。
示例
以下程序展示了如何使用它。
(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
从上面的程序可以看出,代理的值立即打印到屏幕上,因为“await-for”函数包含了一个延迟,这使得 Clojure 能够更新代理的值。
clojure_agents
广告