April 2022
Intermediate to advanced
1012 pages
38h 1m
English
Objectives
In this chapter, you’ll:
Understand concurrency, parallelism and multithreading.
Use high-level concurrency features such as C++17 parallel algorithms and C++20 latches and barriers.
Understand the thread life cycle.
Use the <chrono> header’s timing features to profile sequential and parallel algorithm performance on multi-core systems.
Implement correct producer–consumer relationships.
Synchronize access to shared mutable data by multiple threads using std::mutex, std::lock_guard, std::condition_variable and std::unique_lock.
Use std::async and std::future to execute long calculations asynchronously and get their results.
Use C++20 concurrency features, including latches, ...