HomeCoursesModern C++ Concurrency: Get the most out of any machine

Advanced

14h

Updated 5 months ago

Modern C++ Concurrency: Get the most out of any machine
Save

Explore modern C++ concurrency, from C++11 to C++20, combining theory with practice. Gain insights into parallel algorithms, co-routines, and best practices through interactive examples and real-world scenarios.
Join 2.7 million developers at
Overview
Content
Reviews
Related
"Concurrency with Modern C++" is a journey through the present and upcoming concurrency features in C++. - C++11 and C++14 have the basic building blocks for creating concurrent and parallel programs. - With C++17 we have the parallel algorithms from the Standard Template Library (STL). That means that most STL based algorithms can be executed sequentially, parallel, or vectorized. - The concurrency story in C++ goes on. With C++20 we can hope for extended futures, co-routines, transactions, and more. In addition to explaining the details of concurrency in modern C++, this course gives you many interactive code examples; therefore, you can combine theory with practice to get the most out of it. Apart from theory, this course contains a lot of real-world scenarios and use-cases along with pitfalls and how to overcome them using best practices.
"Concurrency with Modern C++" is a journey through the present and upcoming concurrency features in C++. - C++11 and C++14 hav...Show More

Content

1.

Introduction

1 Lessons

Get familiar with Modern C++ concurrency concepts through practical and theoretical examples.

2.

A Quick Overview

6 Lessons

Look at C++ concurrency evolution, covering C++11 to C++20, practical multithreading, and challenges.

3.

Memory Model: The Contract

2 Lessons

Break apart the crucial aspects of the C++ memory model and its challenges.

4.

Memory Model: Atomics

9 Lessons

Grasp the fundamentals of C++ atomic operations, memory models, and thread synchronization techniques.

6.

Memory Model: Fences

5 Lessons

Tackle memory fences to ensure proper synchronization and prevent unintended operation reordering.

9.

Multithreading: Local Data

1 Lessons

Get started with thread-local data for isolated, race-free multithreaded programs.

10.

Multithreading: Condition Variables

2 Lessons

Go hands-on with condition variables for effective thread synchronization and avoid common issues.

12.

Case Study: Calculate Sum of a Vector

15 Lessons

Explore efficient vector summation methods, including single-threaded and multithreaded approaches with locks, atomics, and tasks.

15.

Parallel Algorithms of the Standard Template Library

5 Lessons

Break down STL's parallel algorithms, execution policies, and functional programming in C++.

17.

Coding Examples

9 Lessons

Go hands-on with concurrency examples to understand and resolve common issues.

18.

Best Practices

5 Lessons

Enhance your skills in minimizing data sharing, effective memory models, and thread safety.

19.

The Time Library

7 Lessons

Take a closer look at time points, durations, clocks, and time management in C++ multithreading.

20.

Glossary

2 Lessons

Focus on understanding key C++ concurrency terms, coding, and execution environments.

21.

About the Author

1 Lessons

Approach the author's extensive industry experience and contributions to modern programming.
Certificate of Completion
Showcase your accomplishment by sharing your certificate of completion.

Course Author:

Developed by MAANG Engineers
Every Educative resource is designed by our in-house team of ex-MAANG software engineers and PhD computer science educators — subject matter experts who’ve shipped production code at scale and taught the theory behind it. The goal is to get you hands-on with the skills you need to stay ahead in today's constantly evolving tech landscape. No videos, no fluff — just interactive, project-based learning with personalized feedback that adapts to your goals and experience.

Trusted by 2.7 million developers working at companies

Hands-on Learning Powered by AI

See how Educative uses AI to make your learning more immersive than ever before.

Instant Code Feedback

Evaluate and debug your code with the click of a button. Get real-time feedback on test cases, including time and space complexity of your solutions.

Adaptive Learning

Explain with AI

AI Code Mentor

Free Resources

FOR TEAMS

Interested in this course for your business or team?

Unlock this course (and 1,000+ more) for your entire org with DevPath