CDS是一个 C++ 模板库,包含 lock-free and fine-grained 算法。
包含一系列并发数据结构的实现:
顺序支持的原子操作
SMR算法
数据结构:
栈
队列: Michael & Scott lock-free 和 read/write lock-based, Moir et al algo, Ladan-Mozes & Shavit optimistic queue, bounded (ring-buffered) algos
有序列表: Michael's algo, Lazy list algo
图: Michael hash-map, Split-ordere list by Ori Shalev & Nir Shavit
同步-lock with different back-off technique
new in 0.8.0 Michael's memory allocator. 参见 cds::memory::michael::Heap
CDS大部分是 header-only,少数算法和数据结构在DLL(SO)库中,详情参见文档。
支持的编译平台有:
MS Visual Studio 2008 + for MS Windows x86 32/64bit
GCC 4.3 +
Linux: x86 (32bit), amd64 (64bit), IA64 Itanium (64bit)
Solaris: Sparc 64bit
HP-UX: IA64 64bit
new in 0.8.0 FreeBSD: x86 (32bit), amd64 (64bit)
主页:http://sourceforge.net/projects/libcds/
下载:http://sourceforge.net/projects/libcds/files/
来自:开源中国社区