Learn Multithreading with Modern C++ (Udemy.com)
Learn how to write threaded C++ code which can unleash the full power of modern multi-processor hardware!
Created by: James Raynard
Last updated August 2026
What you will learn
- How to write portable multi-threaded code in C++
- Basic principles of multi-threading which will be applicable in all languages
- Understanding of concurrency
- Knowledge of C++17 parallel algorithms
Quality Score
No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.
Overall Score : 86 / 100
Course Description
Multithreading is used in many areas of computing, including graphics processing, machine learning and Internet stores. An understanding of threads is essential to make full use of the capabilities of modern hardware.
C++ now provides direct support for threads, making it possible to write portable multithreaded programs which have well-defined behaviour, without requiring any external libraries.
This course thoroughly covers the basics of threading and will prepare you for more advanced work with threads. Source code is provided for all the examples. No previous knowledge of threading is required, but you should be comfortable with programming in C++ at an intermediate level, using "Modern" features such as smart pointers and move semantics.
We start with the concepts of multithreading and learn how to launch threads in C++. We look at the problems which can occur with multiple threads and how to avoid them.
C++ provides tools which allow us to work at a higher level of abstraction than system threads which share data; we cover condition variables and promises with futures. We will also look at asynchronous, lock-free and parallel programming, including atomic variables and the parallel algorithms in C++17. We will finish the course by implementing a concurrent queue and thread pool, which will bring together the material you have learnt.
There are downloadable exercises for each video, with solutions, so you can check your understanding as you learn, gaining familiarity and confidence with the material. There are also some optional assignments, which are more challenging.
I will be actively supporting the course. I will respond promptly if you have any questions or experience difficulties with the course content. Please feel free to use the Q&A feature or alternatively you can send me a private message.
Instructor Details
- 4.3 Rating
2,080 Reviews
James Raynard
I have been a software developer since 1994, mainly in telecomms and finance, both in the UK and abroad. I now work as an instructor and have taught software development classes in a range of environments.
I have so far published five courses on Udemy.
"Begin Programming with Modern C++" and "Learn Advanced Modern C++" comprehensively cover C++11 and 14 and some C++17.
"Update to Modern C++" comprehensively covers all the changes between older versions and C++11/14. It is meant for more experienced C++ programmers.
"Learn Modern C++ Multithreading" teaches the principles of multithreaded programming using C++11, 14 and some C++17. This course is also available as an e-book.
"Update to C++17" covers all the changes between C++14 and 17.
More courses by James Raynard
Modern C++: From Intermediate to Advanced (2026)
4.7 (2,193 Reviews)
Provider: Udemy
Time: 24h
$94.99
More C++ courses
Unreal Engine 5 C++ Game Development (Fully Updated in 5.6) (2026)
4.7 (75,108 Reviews)
Provider: Udemy
Time: 26.3h
$174.99
The Complete dbt Bootcamp: Zero to Hero + Certification Prep (2026)
4.7 (11,907 Reviews)
Provider: Udemy
Time: 13.1h
$84.99
Unreal Engine 5 C++ The Ultimate Game Developer Course (2026)
4.7 (9,386 Reviews)
Provider: Udemy
Time: 53.1h
$124.99
C++ Data Structures & Algorithms + LEETCODE Exercises (2026)
4.7 (3,314 Reviews)
Provider: Udemy
Time: 10.4h
$109.99
Mastering 4 critical SKILLS using C++ 17 (2026)
4.7 (2,555 Reviews)
Provider: Udemy
Time: 33.5h
$84.99
Reviews
By Gabriel Ripoll Sanchez on 7/20/2026
Me ha gustado mucho el curso, creo que todos los temas se explican bastante bien. Para las 5 estrellas, me han faltado algunos ejercicios practicos en las últimas secciones y mejorar un poco el audio de los videos.
By Petr Balnar on 7/19/2026
Im still in the middle of the course, however I still can tell that its a great course as it explains multithreading concepts in a good way. One thing, which I lack here and is mentioned in more reviews and is also a reason why I don't give full 5 stars, is that I would like to have much more practical exercises, so students could store these concepts much deeper in their memories as expecially with learning of new programming concepts, practicing is the key to truly understand it more deeply.
By Rahul Bhat on 7/14/2026
Started with wondering why am i even here . Now halfway through and implementing a dbserver , now feel like these 6 minute videos carry information of 6 hours. Thanks and grateful for amazing people like you . Wish you had more courses.
By Yoshitaka Delahaije on 6/11/2026
I thoroughly enjoyed following this course, before taking it i was quite good at C++ but multithreading concepts were a shroud of mystery. This course helped unveil it quite a lot. i will have to try making a couple of projects before pretending to be comfortable in those concepts because ultimately the only way to be good at C++ is just to write a lot of code. but at least i will have good documentation to do that.
By Nurmyrza Baizhanov on 2/5/2026
Instructor is great! Excellent course for gaining a deep understanding of multithreading in modern C++. All the key topics were thoroughly covered, and James is an outstanding instructor—he demonstrates mastery of the material and explains concepts clearly and effectively. To make the learning experience even stronger, I would suggest adding more assignments or practical challenges. It would be especially valuable to include exercises that can be automatically assessed, for example using unit tests with frameworks like Google Test, as I’ve seen implemented in other courses. Also, maybe it would have been good end the course with a "big bang", a project of some kind ;)
By Wolfgang Koessner on 1/21/2026
The author is very experienced and has a deep understanding of the topic being presented. The presentation style is highly technical. Some people may find the materials too text-heavy. However, for those who are used to working with consoles, it feels like a home game. :-)
By Anonymized User on 1/20/2026
Pros: - For certain categories there is an explicit listing which feature has been introduced with which C++ version, which is exactly how it should be presented. - In the beginning there are frequent quizes and coding exercises after almost every single section - Solutions to coding exercises can be published to receive feedback from other course members and vice versa. You get to comment on their solutions as well. - In rare occasions some really good advices are given: Protect a complex object with an atomic pointer. However the course sadly fails to explain why this works, what the limits are or what exactly the compiler would do instead, because this course completely fails to explain the general concept of memory barriers. Cons: - Terrible audio quality thanks to a low budget microphone and high fan noise of the laptop that this course is recorded with. Neither using noise gates nor removing background noise like the constant fan noises or beeping of the washing machine after the fact straight up shows how much effort went into this course. In combination with the rather annoying rhythm of speech, it gets really painful to listen to below 2x speed, and even then the content is delivered fairly slow and annoying. - Wording in both the lectures as well as the quizes is imprecise fairly often. Example: "A single-threaded program can only run on one core at a time" is wrong, while it would be true for a single-threaded program >instance
By Samuel Tallman on 12/7/2025
Some great material, but lazy presentation. It's actually painful to get through, and it's disappointing to see the instructor gaslighting paying students about this issue instead of humbling himself and addressing this. Multiple people have mentioned that the talking head PiP is a distraction, and that would be an extremely easy fix to improve the course.
By Reginaldo da Silva Souza on 11/10/2025
Nowadays with multicore processors available in practically any device, enabling true parallel execution, multithreading is fundamental for performant scalable applications. This course covered all the bases of Modern C++17 parallel, multithreading features.
By Soumya Satish on 6/7/2024
I have always been intimidated by this topic and this course is helping me get over my fear of multithreading one video at a time. The examples are simple and easy enough to make multithreading in C++ approachable. Questions related to lectures are always answered promptly and clearly. You are a great teacher James. Thank you!







