首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在用于STM的Clojure、Haskell (和其他语言)中使用了哪些算法?

问在用于STM的Clojure、Haskell (和其他语言)中使用了哪些算法?
EN

Stack Overflow用户
提问于 2010-11-28 01:19:53
回答 3查看 1.4K关注 0票数 15

据我所知,有几种不同的算法来实现软件事务内存(这是一个相当活跃的研究领域)。我在哪里可以找到(不必深入源代码)在不同语言和库中使用的代码,特别是在Clojure和Haskell (GHC)中?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-11-28 04:58:52

关于Clojure的STM的最终资源--除了代码本身--是Mark Volkmann的Software Transactional Memory文章。

它提供了STM方法的简要概述(与其他并发方法相比),总结了Clojure中可用的各种并发功能,然后深入Clojure的STM,准确地描述了在事务期间发生的事情,并最终深入到涉及的单个类的级别。除了提供大量关于Clojure的STM机制的内部工作原理的硬信息外,它还包含大量关于Clojure的面向并发的特性的非常有见地的评论,因为它们被用于惯用的Clojure程序中。

Mark的STM资源的实际入口点是this page,目前除了到主要STM文章的最新版本的链接外,还提供了一些STM幻灯片。

票数 17
EN

Stack Overflow用户

发布于 2010-11-28 06:07:31

在非常高的层次上,关于Clojure的STM实现,有趣的一件事是它与所有其他实现有很大的不同。Rich更多地关注真实世界的高性能数据库,而不是关于假设STM的学术论文。例如,据我所知,Clojure的STM是唯一使用多版本并发控制( Multi Version Concurrency Control,MVCC)的STM,MVCC是数据库世界中的一种众所周知的技术(实际上,几乎没有正式的数据库,它不使用MVCC),但在STM世界中几乎没有讨论过。

票数 6
EN

Stack Overflow用户

发布于 2010-11-28 01:26:51

参见用于Haskell (和GHC)的http://www.haskell.org/haskellwiki/Software_transactional_memory和用于Clojure的http://clojure.org/concurrent_programming。

我相信GHC附带了STM库,并且在Clojure中有一些用于STM的技术。

有关其他语言,请参阅http://en.wikipedia.org/wiki/Software_transactional_memory#Implementations

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4292866

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档