Overview of the CDS C++ library
masterThe Concurrent Data Structures (CDS) library is a collection of concurrent containers designed for shared access without requiring manual external synchronization. It utilizes Safe Memory Reclamation (SMR) algorithms, such as Hazard Pointers and user-space RCU (epoch-based SMR), to manage memory safely in concurrent environments.
Key features include:
- Mostly header-only template library (SMR core is in a separate
.so/.dll). - Support for both intrusive (
cds::intrusive) and non-intrusive (STL-like,cds::container) versions of containers. - A wide variety of lock-free and fine-grained lock-based implementations (stacks, queues, maps, sets, skip-lists, etc.).