Clojure STM属于什么类型的交易模型?

时间:2015-11-02 11:01:47

标签: clojure transactions stm

我熟悉Database transactions,并花了很多时间调整isolation levels。我从未在代码中实现自己的事务模型。

我已经通过the source code阅读了Clojure事务实现 - 我正在尝试理解它背后的模型。

我正在阅读a description of a Software Transactional Memory in hardware实施,这促使我认为必须有交易模型的“类别”。

我的问题是: Clojure STM属于什么类型的交易模型?

1 个答案:

答案 0 :(得分:3)

Mark Volkmann's article about Clojure's STM是有关此主题的惊人信息来源 - 如果您对该主题感兴趣,我强烈建议您阅读,无论您是否在高级设计之后概述或低级实现细节的描述。

总而言之,Clojure的STM交易模型基于MVCC和快照隔离。它有一些特殊的功能(例如the way in which it interacts with threads),但总的来说这个描述应该给你正确的想法。