Concurrency with Modern C++ is a two-day training course with programming examples taught by Rainer Grimm. It is offered onsite at the Gaylord Rockies from 09:00 to 17:00 on Saturday, October 23rd and and Sunday, October 24th, 2021 (immediately prior to the conference). Lunch is included.
This class gives you a detailed insight into the multithreading facilities of C++11 and C++14, the parallel algorithms which we got with C++17, and the new way of concurrency, we will get with high probability in C++20.
Additionally, we will have a more in-depth 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)
- The Memory Model
- The Contract
- The Synchronisation and Ordering Constraints
- Sequential Consistency
- Acquire-Release Semantic
- Relaxed Semantic
- Parallel Algorithms of the Standard Template Library (C++17)
- Execution Policies
- The New Algorithms
- Atomic Smart Pointers
- Latches and Barriers
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, but he also likes to speak at conferences. He publishes very often on his blog “Modern C ++“. Now he is a trainer giving seminars on Modern C++ and Python. His books “C ++ 11 für Programmierer”, “C ++”, “C ++ – Standardbiliothek” , “The C++ Standard Library” and “Concurrency with Modern C++” were published by O’Reilly and Leanpub.