我正在寻找C++ 中的无锁数据结构来替换以下内容:
pthread_mutex_lock(plock);
set.insert(element);
pthread_mutex_unlock(plock);
该集合应该支持.insert()
并且.size()
最多具有 O(logN) 复杂度,具有迭代器,并且应该能够使用自定义比较器保持其顺序。基本上与Java中的相同ConcurrentSkipListSet
。理想情况下,它应该独立于平台。
我正在查看 CDS: http: //libcds.sourceforge.net/doc/cds-api/modules.html但不确定哪种数据结构可以实现目标。该文档对于某些数据结构并没有真正的复杂性。
任何建议都会很棒,谢谢!