标签: c++ c memory-management lock-free
任何人对C / c ++的无锁内存分配器都有很好的经验吗?
我已经研究了boost和libcds,但我不确定要使用哪个库。
背景,我一直在研究“无锁,无等待,无阻塞,动态完美哈希,可扩展,并发哈希表” *是的我知道这听起来很自命不凡,但这就是所谓的。
无论如何,我正准备开始多线程测试,并且我需要在添加新节点时找出设置内存分配的最佳方法。 (当我需要分配指针数组时)
那么有没有人对无锁内存分配有任何良好的经验?
答案 0 :(得分:5)
漂亮的图表显示这种实施很好:
http://locklessinc.com/
自2011年11月14日起它是开源GPL 3.0:)
答案 1 :(得分:2)
还有streamflow。我自己没用过;我在阅读一些出版物时遇到过它。
答案 2 :(得分:0)
为什么不尝试tbb的分配器?虽然我怀疑你会找到一个真正无锁的分配器*,但至少有一个可以跨线程/核心工作(如tcmalloc)
*我试图在几个月前建立一个,但让它无锁是有一些缺点,至少从我的角度来看。我对TLS竞技场并不像nedmalloc那样热衷于此。我最终得到了一个混合类型分配器,它只在一个chunk-bin为空时锁定。