What you’ll learn How to write portable threaded C++ applications which unleash the power of modern multi-core hardware Basic principles of multi-threading which will be applicable in all languages Requirements Familiarity with Advanced Modern C++ features such as lambda expressions and move semantics Access to C++ compiler. Parallel algorithms require C++17 but the rest will work on C++11 (preferably C++14) Intended for students who have taken my “Learn Advanced Modern C++†course Description An understanding of multithreading is essential to make full use of the capabilities of modern hardware. In this course, you will learn the principles of multithreading in modern C++, starting with threads, continuing with mutexes, condition variables, futures. We will also look at asynchronous, lock-free and parallel programming, including the parallel algorithms in C++17. Finally, we will implement a concurrent queue and thread pool, which you can use in your own code. Who this course is for: C++ programmers (no previous knowledge of multithreading required) Continue reading...