This class gives you a detailed insight into the multithreading facilities of C++11 and C++14, and the parallel algorithms which we got with C++17. If possible, we will have a more in-depth look into the C++ memory model consisting of the atomics and the various memory models 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.
Mutexes and Locks
Tasks (Promises and Futures)
The Memory Model
The Synchronisation and Ordering Constraints -- Sequential Consistency -- Acquire-Release Semantic -- Relaxed Semantic
Parallel Algorithms of the Standard Template Library (C++17)
Algorithms -- The New Algorithms
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, …