Course Information
Course Overview
modern c++ concurrency features including memory model, lock free data structure, thread pools, coroutines.
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++.
Course Content
- 9 section(s)
- 98 lecture(s)
- Section 1 Thread management guide
- Section 2 Thread safe access to shared data and locking mechanisms
- Section 3 Communication between thread using condition variables and futures
- Section 4 Lock based thread safe data structures and algorithm implementation
- Section 5 C++20 Concurrency features
- Section 6 C++ memory model and atomic operations
- Section 7 Lock free data structures and algorithms
- Section 8 Thread pools
- Section 9 Bonus section : Parallel programming in massively parallel devices with CUDA
What You’ll Learn
- Learn Concurrent programming in C++ including feature in C++17/20 standards.
- You will learn how to implement useful concurrent data structures and algorithms using latest C++ features.
Reviews
-
RRahul Dey
It's an AI voice that speaks slightly unintelligible English. There is very little explanation. The lectures rarely tie into one another. The code samples shared are not documented well.
-
TTom Ice
Quite a few typos and grammatical errors. Concepts are okay but elementary and don't fully explain what's happening all the time
-
RRajesh GC
better examples can help.
-
NNikhil Naik
Yes all good till now,