C++11 is the first C++ standard that deals with concurrency. The story goes on with C++17 and will continue with C++20/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.
Concurrency with Modern C++ is a journey through current and upcoming concurrency in C++.
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/23 we can hope for executors, extended futures, coroutines, transactions, and more.
This book explains you the details to concurrency in modern C++ and gives you, in addition, more than 100 running code examples . Therefore you can combine the theory with the practices and get the most of it.