C++ Concurrency and Multithreading Quick Start Guide in 2023
- Description
- Curriculum
- FAQ
- Reviews
Learn the latest C++ concurrency features, including threads, synchronization primitives, futures, semaphores, atomics, parallel algorithms, and coroutines. This course is designed for experienced C++ developers who want to quickly get up to speed on the latest concurrency features in C++20 and beyond.
In this course, you will learn:
-
How to use threads to create concurrent programs
-
How to synchronize access to shared data using mutexes, condition variables, and semaphores
-
How to use futures to implement asynchronous programming
-
How to use atomics to write lock-free and wait-free code
-
How to use parallel algorithms to speed up your computations
-
How to use coroutines to write asynchronous code in a more structured and efficient way
This course is designed to be completed in a weekend, but you will need to follow up on your own by reading the C++ standard and other resources to fully understand the concepts covered in the course.
Why Mastering Modern C++ Concurrency Features Is Crucial for Today’s Programmers
In today’s fast-paced, technology-driven world, mastering modern C++ concurrency features is essential for programmers who want to stay ahead of the curve and develop high-performance, efficient software.
C++ concurrency features allow you to write code that can take advantage of multiple cores and processors, resulting in significant performance improvements. This is especially important for complex, resource-intensive applications, such as web servers, game engines, and scientific computing software.
By learning modern C++ concurrency features, you will:
-
Be able to write more efficient and responsive software
-
Unlock the true potential of multicore processors
-
Set yourself apart from other programmers
-
Become more marketable to employers
-
Open up new career opportunities
This course will teach you everything you need to know about C++ concurrency features, from the basics to advanced topics. You will learn how to use threads, synchronization primitives, futures, atomics, parallel algorithms, and coroutines to write high-performance concurrent code.
If you are a serious C++ programmer who wants to stay ahead of the curve, then this course is for you.
-
2Launching ThreadsVideo lesson
-
3Passing arguments to threadsVideo lesson
-
4Launching thread Excercise - C++20 to C++14 porting!Quiz
-
5Member functions of std::thread ( C++11 ) and std::jthread ( C++20 )Video lesson
-
6Member Function QuizQuiz
Use compiler explorer to execute and confirm the outcomes.
-
7Cooperative Cancellation feature released in C++20Video lesson
-
8Cooperative Cancellation General workflow possible in programs using C++20Video lesson
-
9Cooperative Cancellation QuizQuiz
Use compiler explorer to use the C++20 features.
-
10Practical considerations of using threads in C++ 11/14/17/20Video lesson
-
11When to use std::async?Video lesson
-
12async vs thread?Quiz
a quick check of the concepts.
-
13Overview of synchronization mechanismsVideo lesson
-
14Introduction to latches introduced in C++20Video lesson
-
15Code example of latches ( needs C++20 )Video lesson
-
16Use cases of std::latch in programs using C++20Video lesson
-
17std::latch quizQuiz
Please use compiler explorer and cppreference whenever in doubt. Requires a C++20-enabled coding environment.
-
18introduction to barriers introduced in C++20Video lesson
-
19Code example of std::barrier (needs C++20)Video lesson
-
20Use cases of std::barrier in programs using C++20Video lesson
-
21std::barrier quizQuiz
Requires a C++20-enabled coding environment.
-
22Introduction to futures in Modern C++Video lesson
-
23Member functions of std::futureVideo lesson
-
24Blocking and Polling usage of std::futureVideo lesson
-
25std::future QuizQuiz
Use compiler explorer to execute and confirm. C++14 should be sufficient.
-
26Member functions of std::promiseVideo lesson
-
27Passing data using std::future and std::promiseVideo lesson
-
28Passing exception using std::future and std::promiseVideo lesson
-
29Using futures in programsQuiz
Use compiler explorer and cppreference. Does not require C++20.
-
30Futures in C++ are single shot!Video lesson
-
31Shared futuresVideo lesson
-
32Shared futures in actionQuiz
-
33std::async revisted as concurrency mechanismVideo lesson
-
46Basics of AtomicsVideo lesson
-
47Overloaded operators with atomicsVideo lesson
-
48Cautions while using atomic overloadsVideo lesson
-
49Member functions of atomicsVideo lesson
-
50Operators QuizQuiz
Doesn't require C++20.
-
51More member functions of atomicsVideo lesson
-
52Summary and advice while working with atomicsVideo lesson
External Links May Contain Affiliate Links read more