我想知道 Clojure 怎么可能已经实现了软件事务内存并且没有发现任何问题,而微软没有完成它的 C# 工作并注意到一些问题使得实现这里描述的 STM 不切实际: http://www.bluebytesoftware.com/blog/2010/01/03/ABriefRetrospectiveOnTransactionalMemory.aspx
有什么想法吗?
最佳答案
Clojure几乎从语言的开始就开始了STM,这影响了语言的设计和语言的使用方式,从而使他们的STM变得实用。 C# 必须从现有的语言和现有的使用方式开始,这导致了一个更困难的问题。最重要的区别是 Clojure 的 STM 从语言核心的不可变数据开始,然后在此之上构建身份概念,并在身份概念之上构建 STM。还值得注意的是,它们有许多不同种类的 STM,而 clojure 的 STM 非常不同。
关于c# - STM.NET 与 Clojure STM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17280349/