This class gives you a detailed insight into the multithreading facilities of C++11, C++14, and the parallel algorithms which we got with C++17.
Additionally, we will have a look into the C++ memory model consisting of the atomics and the various memory orders in C++. This insight will provide you with a better understanding of the general concurrency features of C++.
Participants should have a basic knowledge of the C++ language and the fundamentals of multithreading.
In the class, I will give you a concise introduction to the topic. This introduction provides the starting point for the exercises; therefore, you should bring your laptop with you including a C++11 or C++14 compiler.
You will get in return the training material consisting of the presentation, the exercises, and the solutions to the exercises.
-- Shared Data
-- Mutexes and Locks
-- Thread-safe Initialisation
-- Thread-Local Data
-- Condition Variables
-- Tasks (Promises and Futures)
-- Parallel STL
- Memory Model
Independent trainer and technology consultant
Rainer Grimm has worked as a software architect, team lead and instructor for about 20 years. In his spare time he likes to write articles about C++, Python and Haskell, …