Clojure STM与原子和代理形式有关系吗?



我正在研究Clojure中的并发编程。http://clojure.org/concurrent_programming

我知道原子引用代理形式用于维护程序状态。

只有 ref 用于协调更新,因此在执行更改时使用 dosync 宏。

因此,很明显,STM引擎在这一点上是参与其中的。

只是想弄清楚我的怀疑,

Clojure STM是否也与原子和代理形式有关系? 他们只是利用了java.util.concurrent.atomic功能?

STM 与该send中的代理有关,send-offsend-via,当在dosync块内调用时,仅在事务成功提交时生效。

STM和原子之间没有关系。

最新更新