libcdsC++并發(fā)數(shù)據(jù)結(jié)構(gòu)算法庫
CDS是一個(gè) C++ 模板庫,包含 lock-free and fine-grained 算法。
包含一系列并發(fā)數(shù)據(jù)結(jié)構(gòu)的實(shí)現(xiàn):
- 順序支持的原子操作
- SMR算法
- 數(shù)據(jù)結(jié)構(gòu):
- 棧
- 隊(duì)列: 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,少數(shù)算法和數(shù)據(jù)結(jié)構(gòu)在DLL(SO)庫中,詳情參見文檔。
支持的編譯平臺(tái)有:
- 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)
評(píng)論
圖片
表情
