9

有人对 C/c++ 的无锁内存分配器有什么好的经验吗?

我研究过 boost 和 libcds,但我不确定要使用哪个库。

背景,我一直在研究“无锁、无等待、非阻塞、动态完美哈希、可扩展、并发哈希表” *是的,我知道这听起来很自命不凡,但这就是所谓的。

无论如何,我已经准备好开始多线程测试了,当添加新节点时,我需要找出设置内存分配的最佳方法。(当我需要分配指针数组时)

那么有人对无锁内存分配有什么好的经验吗?

4

3 回答 3

5

漂亮的图表表明这个实现很好:

http://locklessinc.com/

自 2011 年 11 月 14 日起,它是开源 GPL 3.0 :)

于 2011-03-25T04:55:39.973 回答
2

还有水流。我自己没用过;我只是在阅读一些出版物时遇到了它。

于 2011-03-25T06:51:12.367 回答
0

为什么不试试tbb的分配器呢?不确定它是多么“无锁”,尽管我怀疑你会找到一个真正的无锁分配器*,至少一个可以跨线程/内核工作的分配器(如tcmalloc

*几个月前我尝试实际构建一个,但使其无锁有一些缺点,至少从我的角度来看是这样。我不太喜欢nedmalloc那样的 TLS 竞技场。我最终得到了一个混合型分配器,它仅在块箱为空时锁定。

于 2011-03-25T05:53:04.217 回答