Skip to content
UdemyC++Paid courseIntermediate levelCertificate

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

Learn C++ multithreading, atomics, thread pools, memory ordering, coroutines, and lock-free systems (C++17/20/23/26)

Created by: Kasun Liyanage

Last updated May 2026

icon
What you will 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

How it compares

Against the other 86 rated Udemy courses in C++ on CourseDuck:

  • Rating4.2 out of 5higher than 20% of them
  • Reviews1,987#31 of 87 by number of reviews
  • Length10.8 hourslonger than 50% of them
  • Last updatedMay 2026more recently than 83% of them

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

icon
Udemy Discount

The discount is applied through our link. Open the course from here and Udemy's current promotional price is applied at checkout on most courses, no code to type.

Some courses are excluded from Udemy's promotions. If the price does not drop, clear your browser cookies and use the button again.

icon
Instructor Details

Kasun Liyanage

Software engineer with years of experience in industry with c++ and java programming language. And entrepreneur and founder of intellect. creator of GPU MLIB library which provides GPU optimized parallel implementation of machine learning algorithms. My current project include fashion design framework which allows user to get the live fit on room experience. I am graduate on electrical and information engineering and i currently reading for master in artificial intelligence. 

icon
More courses by Kasun Liyanage

$12.99

icon
More C++ courses

$74.99

$49.99

$174.99

$124.99

$139.99

$109.99

icon
Reviews

4.2

1,987 ratings on Udemy

Select a bar to show only those reviews.Select the bar again to show every rating.

By Peter Schlumberger on 3/31/2025

Course is OK for an introduction to the topic. However, the more advanced topics (coroutines, lock-free algos etc.) are not explained well enough and lack example code. Also Exercises / Quizzes were only available for the easy introductory lessons. Would be very useful to add more exercises for the advanced topics. Additionally, multiple errors have been reported years ago (see question sections), but have never been fixed. This includes deadlocks, code that won't compile, and also some dangerous, unsafe implementations that will compile but cause sporadic runtime errors or memory corruptions. These should really be fixed. So be careful and don't use code shown in the slides or examples in your production code without extensive review and testing and consulting other sources like cppreference. On a side note, lots of english grammar and spelling errors, which was inconvenient but not much of an issue for me. Most lections seem to have an AI voice over which is very useful and easy to understand. Wish all lessons had it, because some are in the tutor's original voice, which was very hard to understand for me due to the strong accent.

By Mike Harris on 5/2/2024

Great course to get you started in multithread parallel programming, and he covers alot of the subject. There is still alot to learn in this subject, it is a discipline in its own but you will know what the terms mean and what to search for. I thought multithreading was a plug and play subject. Like driving a car you get in and drive but you have to tune, give the right fuel, modify suspension etc, etc, to get parallelism right,not easy. This is not only good for general purpose programming but graphics and game development as well. You will see concurrency in Vulkan and Directx12.

By Andrei Popescu on 2/7/2024

Lectures touch complicated concepts, which is good. But the homework assignments are only provided for the first (and trivial) section! Makes it feel like you are let down to be honest. I was looking for a course that would also provide me with good assignments. Would put less stars but the course content was somewhat rich, at least gave me some superficial idea about the concepts I was trying to learn about. Another thing is the terrible English of the second speaker (not the one that introduces the course and that you will be familiarised with). Omg, it's honestly a pain to listen to him.

By Dmytro Kovryzhenko on 8/20/2023

Most of all I really impressed of the depth that lecter have provided for the course. You really get in to the how things are working under the hood. Some parts of the course still have to be fixed: - Lecter not always explain why things done in a way he does; - Some slides outdated (meaning new sections were added and now section 7 on a slide refered as section 3); - Code examples for some lectures missing (even for some sections, like 6 and 9). Also some codes not working (like in lectures 85 and 86); But overall there is a plenty stuff that can improve my pet projects. Very glad and thank you!

By Ashish Sriram on 6/17/2022

It gives a good overview of topics to consider when writing multi-threaded code. For sections 7 and 8, better to refer to the book "Concurrency in Action" along with the course content, as some key points get skipped in the explanation making it hard to understand.

By Dane Anderson on 7/3/2021

The course covers a lot of important topics for C++ concurrency. Some of the slides are sloppy because the audio does not match the presented material, and some things are misspelled. Some of the material is given only a shallow explanation. This course is certainly an introductory course. You should take this info and go do more research to fully understand it. That said, this tells you every concept you could possibly need to know about concurrency. You'll know exactly which areas you have to research to give yourself a full understanding of the material.

By Swati Kedia on 2/17/2021

Covers a lot of concurrency topics. Good Job! Would be great if you can provide some information on semaphores/signals too.

By Esperanza Soriano Girón on 1/26/2021

Clear and thoroughly explained. Starting from a totally basic level, it gets to the latest C++ functionalities. I was able to follow the lectures and reproduce the code examples easily on Debian 10 and Eclipse CDT, thanks to Mr Indikaliyanage's github. Although not all examples are included they were actually very useful to me.

By Victor Muravyov on 11/23/2020

IMHO I would suggest that all examples in the course should be compile-able and present in the GIT (not only some of them) in order to avoid issues like I point out below. Please look at the matrix multiplication fragment. There instead of result[i] = I think we need result[i] += to do the sum of things in the lower loop. Such correction also requires initializing values in result matrix to 0. One will find few examples like that but they are pretty obvious for the person who wants to understand the logic. Some code change also is require for fixing warnings (like comparing signed with unsigned). But those things are minor and I like the course - here are my 5 stars anyway. Thanks, Victor

By Adam Sharp on 10/15/2020

I think the course will have the content I'm hoping for, but I haven't gotten to the hands-on part yet. That's what I'm really after.

By Tarun Gaur on 10/10/2020

Well our dear friend calls TASKS .. TAKSS .. and STATEMENT as STATSSMENTS and a few cute accent mistakes, other than that he explains well. :)

By Maurice Eichenberger on 8/25/2020

The English is especially bad. The transcripts are not checked or if checked, not fully. This make the learning very difficult. Many lines of code presented in the videos are not available.

Showing 12 of 219 reviews

icon
Quality Score

No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.

Content Quality
/
Video Quality
/
Qualified Instructor
/
Course Pace
/
Course Depth & Coverage
/

Overall Score : 84 / 100