Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Modern C++ Multithreading & Lock-Free Programming(C++20/23)
Rating: 4.1 out of 5(1,968 ratings)
15,454 students

Modern C++ Multithreading & Lock-Free Programming(C++20/23)

Learn C++ multithreading, atomics, thread pools, memory ordering, coroutines, and lock-free systems (C++17/20/23/26)
Created byKasun Liyanage
Last updated 5/2026
English

What you'll learn

  • Learn Concurrent programming in C++ including feature in C++20/23/26 standards.
  • You will learn how to implement useful concurrent data structures and algorithms using latest C++ features.
  • Learn Lock-free programming with C++ atomics and memory ordering mechanisms
  • Complex industry level use case implementation

Course content

9 sections108 lectures10h 49m total length
  • Setting up the environment for the course10:18
  • Introduction to parallel computing11:34
  • Quiz : Parallel programming in general1:06

    In this quiz we are going to explore parallel programming in general

  • Uses of parallel programming.
  • How to launch a thread5:51
  • Programming exercise 1 : Launching the threads1:01
  • Joinability of threads4:41
  • Join and detach functions4:27
  • How to handle join, in exception scenarios5:51
  • Programming exercise 2 : Trivial sale a ship model2:06
  • How to pass parameters to a thread4:15
  • Problematic situations may arise when passing parameters to a thread3:39
  • Transferring ownership of a thread3:34
  • Some useful operations on thread5:35
  • Programming excersice 3 : Sail a ship with work queues2:00
  • Parallel accumulate - algorithm explanation3:39
  • Parallel accumulate algorithm implementation8:30
  • Thread local storage3:12
  • Debugging a application in Visual studio12:27
  • Thread management

Requirements

  • Basic of c++ programming , some knowledge about data structures and algorithms would be helpful

Description

C++ programming language can be categorized under many topics. Some say its a general purpose programming language, some say its a object oriented version of C. But I liked to categorized it under system programming language. One characteristic of any system programming language including C++ is that language should be able to execute faster compare to other languages like java etc. 

C++ paradigm took sharp turn with the introduction of C++11 standards. The most notable difference with previous version is the introduction of new memory model. Memory model is the key part of any language, and the performance of all the functionalities depends on that language memory model. With new c++ memory model, we can exploit tremendous power of  modern multi core processors. 

Programming a proper C++ code with better memory reclaim mechanism is tough task. But if we want to code thread safe code which can harvest underline processors true power is much more difficult task. In this course we will have in depth discussion on  C++ concurrency features including memory model. We will implements thread safe data structures and algorithms, both lock based manner and lock free manner. Proper lock free implementations of data structures and algorithms will provide unprecedented performance output. Let me listed down key aspects we cover in this course below.

1.Basics of C++ concurrency(threads, mutex, package_task, future ,async, promise)

2.Lock based thread safe implementation of data structures and algorithms.

3.C++ memory model.

4.Lock free implementation of data structures and algorithms.

5.C++20 concurrency features.

5. Proper memory reclaim mechanism for lock free data structures.

6. Design aspects of concurrent code.

7. In depth discussion on thread pools.

8. Bonus section on CUDA programming with C and C++.

Who this course is for:

  • Anyone who wants to widen you skills with c++ programming.