C++11 is the first C++ standard that deals with concurrency. The story goes on with C++17, C++20, and will continue with C++23.
I’ll give you a detailed insight into the current and the upcoming concurrency in C++. This insight includes the theory and a lot of practice.
C++11 and C++14 have the basic building blocks for creating concurrent or parallel programs.
With C++17, we got the parallel algorithms of the Standard Template Library (STL). That means, most of the algorithms of the STL can be executed sequential, parallel, or vectorized.
The concurrency story in C++ goes on. With C++20, we got coroutines, atomic smart pointers, semaphores, and latches and barriers.
With C++23, we can hope for executors, extended futures, transactional memory, and more.
This book explains the details of concurrency in modern C++ and gives you, also, nearly 200 running code examples. Therefore, you can combine the theory with the practices and get the most of it.
Because this book is about concurrency, I present many pitfalls and show you how to overcome them.
The book is 100 % finished, but I will update it from time to time. The next update is probably about C++23. Furthermore, I will start the chapter on lock-free data structures.Homepage