gpt4 book ai didi

java - C 或 Java 的非玩具软件事务内存

转载 作者:搜寻专家 更新时间:2023-10-30 21:29:59 27 4
gpt4 key购买 nike

我正在考虑通过 1 或 2 个大学类(class)的指导实验室来教授软件事务内存的使用的可能性。我只知道 Haskell 的 STM,但该类(class)的学生可能从未听说过它。

我已经在网上或其他问题中找到了一些此类库的列表(例如 http://en.wikipedia.org/wiki/Software_transactional_memory#C.2FC.2B.2B)。当你阅读本文时,我正在检查它们,但其中许多似乎没有很好的文档(大多数是研究原型(prototype),仅在论文中模糊描述,我宁愿教授一些更常用和有据可查的东西)。此外,维基百科提供的许多链接都是悬空的。

总而言之,是否有针对工业项目(或至少非玩具项目,以确保一定水平的质量)的 STM 实现并且有据可查(以提供一些好的指示学生)?

编辑:我不是这门类(class)的老师,我只是帮他做实验。当然,学生们之前会学习并发和分布式算法的基础知识。这只是在类(class)结束时提出不同建议的想法。

最佳答案

生产质量的 STM 库不是作为教学工具,甚至不是“最佳实践”。对于任何学院/大学类(class)而言,值得学习的可能是代码的 1%;剩下的 99% 是具体的依赖于平台的内在极端情况。感兴趣的 1% 没有以任何方式突出显示,因此您无法找到它。

我对学院/大学类(class)(无论是入门类(class)还是高级类(class))的建议是自己实现 STM 构建 block (并且仅适用于 1 个平台)。

首先介绍问题:并发、缓存...

然后介绍一下我们有的atomic helpers:cas/cmpxchg、fence。

然后与您的学生一起构建示例,首先是简单的,然后是更难和更复杂的。

关于java - C 或 Java 的非玩具软件事务内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15064173/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com