Recently, I encountered a problem with finding easy-to-use and easy-to-understand neat atomic/lock-free/concurrent data structures and solutions to common concurrency problems using C++20.
This repository is a solution to the above-described problems:
- Atomic/Lock-free/Concurrent data-structures: stacks, queues, spinlocks;
- Performance tests of different thread-safe data structures implementations;
- ConcurrentPatterns: Multiplex, Barrier, SignalQueue, LightSwitch, ProducerConsumer, Double-checked locking;
I'm not claiming that implementations here are the most efficient ones since they are provided for educational purposes.
TODO:
- Add simulation for concurrency patterns;
- Add solutions to common concurrency problems;
- Add hazard pointers implementation;
- Add more implmentations of the concurrent data structures;
Used materials: