The aim of this project is to learn how to write multithreaded applications in C++, focusing on:
- Sharing data between threads
- Synchronizing concurrent operations
- The C++ memory model
- Lock-based and lock-free concurrent data structures
- Thread management, thread pools
- Parallel algorithms
- Testing & debugging of multithreaded application
The main resource for this project in C++ Concurrency in Action by Anthony Williams.