Challenging Issues in C++

This lesson is a small guide to help you study the challenging issues that we face in concurrent programming.

We'll cover the following

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

Best Practices

Concurrent programming is inherently complicated; therefore, having best practices for data sharing, the right abstraction, and static code analysis makes a lot of sense.

Time Library

The time library is a key component of the concurrent facilities of C++. Often you let a thread sleep for a specific time duration or until a particular point in time. The time library consists of time points, time durations, and clocks.


The glossary contains non-exhaustive explanations on the most important terms.

Get hands-on with 1000+ tech skills courses.