Concurrency with Modern C++: What every professional C++ programmer should know about concurrency.

Concurrency with Modern C++: What every professional C++ programmer should know about concurrency.

English | 2024 | ISBN: 979-8873420933 | 737 Pages | PDF, EPUB | 23 MB

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 sequentially, in parallel, or vectorized.
  • The concurrency story in C++ goes on. With C++20, we got coroutines, atomic smart pointers, semaphores, latches, and barriers.
  • C++23 supports the first concrete coroutine: std::generator.
  • With future C++ standards, we can hope for executors, extended futures, transactional memory, and more.
  • This book explains the details of concurrency in modern C++ and gives you nearly 200 running code examples. Therefore, you can combine theory with practice and get the most out 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 regularly. The next update is probably about C++26. Furthermore, I will write about lock-free concurrent data structure and patterns for parallelization.

Homepage