libcdsC++并发数据结构算法库
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)
评论