Challenges
Writing concurrent programs is inherently complicated. This is particularly true if you only use C++11 and C++14 features. Therefore I describe in detail the most challenging issues. I hope that if I dedicate a whole chapter to the challenges of concurrent programming, you become more aware of the pitfalls. I write about challenges such as race conditions, data races, and deadlocks.