** Separate registration is required for CppCon Academy Classes. **Class Page
This course is designed to empower participants with the knowledge and skills required to unlock the full potential of high-performance concurrency in C++. By delving into fundamental principles and advanced techniques, attendees will gain a profound understanding of how to design, implement, and optimize concurrent programs effectively.
The class begins by addressing the essentials of performance and guiding participants on how to evaluate and measure the efficiency of concurrent programs. Emphasis is placed on the significance of performance measurement, providing insights into practical methodologies for assessing program efficiency. The exploration of threads and memory management goes beyond the basics, offering a nuanced understanding of threads in C++, multi-threaded memory access, and the critical aspects of avoiding data races.
Participants will learn effective strategies for synchronizing memory accesses and gain insights into memory models, equipping them to navigate complex memory-related challenges in concurrent programming. The attendees will learn the tools offered by the C++ language, including C++20 and coroutines. We will learn about thread schedulers, thread pools, and pipelines, as well as thread-safe data structures. This class equips participants with a comprehensive skill set to harness the full potential of C++ for high-performance concurrency, covering everything from fundamental principles to advanced tools and techniques.
Unlock the power of high-performance concurrency in C++ with this comprehensive, hands-on two-day course. Designed for developers looking to push their C++ applications to the next level, this class covers everything from fundamental principles to the latest, production-ready concurrency tools in C++20 and C++23cutting-edge concurrency tools introduced in C++20, with a strong focus on practical implementation and real-world challenges.
We begin by addressing the core question of performance: What makes a concurrent program efficient, and how can we measure it? Participants will explore key performance metrics and learn profiling and benchmarking techniques to ensure their code runs optimally in multi-threaded environments.
The class delves into the complexities of multi-threaded programming in modern C++, offering a deep dive into thread management, memory synchronization, and avoiding data races. Attendees will learn how to navigate C++’s memory model and apply best practices for thread-safe programming, ensuring robustness and correctness even in highly concurrent systems.
We will explore practical solutions for real-world concurrency problems using modern C++ features, including thread pools, pipelines, and coroutines, and dive into thread-safe data structures and lock-free algorithms. Through hands-on exercises, participants will build and optimize scalable systems that can handle high workloads efficiently.
By the end of this course, attendees will walk away with a comprehensive toolkit to write high-performance, concurrent C++ applications that are both fast and safe. Whether you’re building server-side systems, real-time applications, or tackling parallel processing challenges, this class will give you the skills to harness modern C++ concurrency like a pro.