gpt4 book ai didi

Clojure Ref、Var、Agent、Atom 之间的差异以及示例

转载 作者:行者123 更新时间:2023-12-02 11:47:13 27 4
gpt4 key购买 nike

我对 Clojure 很陌生,你们能给我解释一下现实世界的场景吗?我的意思是,在哪里使用 Ref、Var、Agent、Atom。我读过书,但是仍然无法理解现实世界的例子。

最佳答案

我强烈推荐“The Joy of Clojure”或“programming Clojure”来真正回答这个问题,我可以重现每个动机的简短片段:

首先观看this video on the notion of Identity和/或 studying here .

  • 引用资料用于协调同步访问“许多身份”。
  • 原子用于对单个身份进行不协调的同步访问。
  • 代理用于对单个身份进行不协调的异步访问。
  • 变量用于具有共享默认值的线程本地隔离身份

协调访问当两个身份需要一起更改时使用,典型的例子是将资金从一个银行帐户转移到另一个银行帐户,它需要完全转移或根本不转移。

不协调访问用于仅需要更新一个身份时,这是一种非常常见的情况。

同步访问用于当调用预计要等到所有身份都已确定后再继续时。

异步访问是“即发即忘”,让身份在自己的时间内达到新状态。

关于Clojure Ref、Var、Agent、Atom 之间的差异以及示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9132346/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com