注册
登录
agent
Ref,Var,Agent,Atom之间的Clojure差异,包括示例
返回
Ref,Var,Agent,Atom之间的Clojure差异,包括示例
作者:
狗头军师
发布时间:
2024-12-26 02:13:20 (2月前)
我对Clojure还是很陌生,你们能给我解释一下真实的场景吗?我的意思是在哪里使用Ref,Var,Agent,Atom。我读过书,但仍然无法理解真实的例子。
收藏
举报
2 条回复
1#
回复此人
v-star*위위
|
2020-08-25 16-11
我强烈建议使用“ Clojure的喜悦”或“对Clojure进行编程”来真正回答这个问题,我可以简要总结一下每种动机: 首先观看有关身份概念的视频和/或在此处学习。 引用用于“多个身份”的协调同步访问。 原子用于对单个身份的不协调同步访问。 代理用于对单个标识的非协调异步访问。 变量用于具有共享默认值的线程本地隔离身份。 当两个身份需要一起更改时,将使用协调访问,经典示例是将钱从一个银行帐户转移到另一个帐户,它需要完全转移或完全不转移。 当仅一个身份需要更新时,将使用非协调访问,这是一种非常常见的情况。 当预期呼叫要等到所有身份都解决后再继续时,才使用同步访问。 异步访问是“生与死”,它使身份在自己的时间内达到其新状态。
编辑
登录
后才能参与评论