[英]STM.NET versus Clojure STM
我想知道Clojure如何實現軟件事務內存並且沒有看到任何問題,而微軟沒有完成C#的工作,並注意到一些問題使得實現這里描述的STM不實用: http: //www.bluebytesoftware.com/blog/2010/01/03/ABriefRetrospectiveOnTransactionalMemory.aspx
有什么好主意嗎?
Clojure幾乎從語言的開頭開始使用STM,它影響了語言設計以及語言的使用方式,使STM變得實用。 C#必須從現有語言和現有使用方式開始,這使得問題更加困難。 最看似重要的區別是Clojure的STM以語言核心的不可變數據開始,然后在身份概念的基礎上構建了身份和STM的概念。 值得注意的是,他們有許多不同類型的STM和clojure的STM是非常不同的。
STM有許多不同的方法 。 這是一個非常廣泛的主題,如“類型系統”:一種方法很容易成功,而其他方法由於各種不同的原因而失敗。
Clojure的STM有一些設計決策使IMHO比以前的方法更實用和有效:
ref
和類似)。 這使得它比許多早期的STM方法(這包括微軟的方法,至少如上面鏈接的文章中所描述的)更簡單,更集中的設計 由於這些設計決策,Clojure的STM與之前的STM方法完全不同,我認為由於其新穎的設計而成功。 如果您想了解它的工作原理,下面的視頻有點陳舊但非常好:
http://www.infoq.com/presentations/Value-Identity-State-Rich-Hickey
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.