2015-11-02 67 views
3

我熟悉Database transactions,並花了很多時間調整isolation levels。我從來沒有在代碼中實現我自己的事務模型。Clojure STM屬於哪種類型的交易模型?

我已經通過the source code閱讀了Clojure事務實現 - 並試圖理解它背後的模型。

我正在閱讀a description of a Software Transactional Memory in hardware實現,它促使我認爲必須有事務模型的「類別」。

我的問題是:Clojure STM屬於哪種類型的交易模型?

回答

3

Mark Volkmann's article about Clojure's STM是關於該主題的一個驚人的信息來源 - 如果您對該主題感興趣,我強烈建議您閱讀它,無論您是在高級設計概述還是低描述級別的實現細節。總之,Clojure的STM的事務模型是基於MVCC和快照隔離的。它有一些特殊的功能(例如the way in which it interacts with threads),但總的來說這個描述應該給你正確的想法。