Multithreaded applications execute multiple threads in a single processor environment, allowing developers achieve concurrency. This training will teach you the finer points of multithreading and concurrency concepts and how to apply them efficiently in C++14. Divided into ten modules, we start with a brief introduction to the fundamentals of multithreading and concurrency concepts. We then take an in-depth look at how these concepts work at the hardware-level as well as how both operating systems and frameworks use these low-level functions. We will also learn about the native multithreading and concurrency support available in C++ since the 2011 revision, synchronization, and communication between threads.
Topics
- Introduction to Concurrency in C++14
- Managing Threads
- Sharing Data between Threads
- Synchronizing concurrent operations
- C++ memory model and operations on atomic types
- Designing lock-based concurrent data structures
- Designing lock-free concurrent data structures
- Designing concurrent code
- Advanced thread management
- Testing and debugging multi-threaded applications