CDS - C++并发数据结构算法库


BSD
Windows
C/C++

软件简介

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)