Clojure编程:赋值、并发、流程控制、错误处理与数学运算
1. 并发编程元素
在Clojure中,有几种重要的并发编程元素,包括Refs、Futures和Promises。
1.1 Refs
Refs与Atoms类似,都用于同步更改。但不同的是,Refs可以使用 dosync 表单同时读取和修改多个Refs,从而执行事务。
- 创建Ref :使用 ref 表单创建Ref,示例代码如下:
user> (def -r (ref []))
#'user/-r
- 获取Ref的值 :可以使用
deref或@读取宏获取Ref的值,示例代码如下:
user> ;; This is not the value of the ref
user> -r
#<Ref@356f95be: []>
user> ;; This is the value of the ref
user> @-r
[]
- 验证器选项 :与Atoms和Agents一样,Refs也支持
:validator选项。以下示例添加了
超级会员免费看
订阅专栏 解锁全文
2470

被折叠的 条评论
为什么被折叠?



