Home>Courses>Modern C++ Concurrency: Get the most out of any machine

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

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.

Advanced

140 Lessons

14h

Certificate of Completion

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.
AI-POWERED

Explanations

AI-POWERED

Explanations

This course includes

107 Playgrounds
Course Overview
Course Content
Recommendations

Course Overview

"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. ...Show More
"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 th...Show More

Course 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.

Course Author

Trusted by 2.5 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.

AI-Powered Mock Interviews

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