This course provides an introduction to concurrency in C++. It covers fundamental concepts, including threads, the C++ Memory Model, and basic synchronization techniques. Students will learn how to create and manage threads, understand data sharing between threads using primitive approaches, and grasp the importance of synchronization to prevent concurrency issues like race conditions.
Overview
Syllabus
- Unit 1: Introduction to Concurrency and Multithreading
- Running Threads in C++
- Enhance Your Thread with Parameters
- Fix the Threading Bug
- Create a Threaded Message Program
- Creating Threads with Parameters
- Unit 2: Introduction to Thread Lifecycle and Basic Operations
- Running Threads in C++
- Master Thread Detachment Techniques
- Fix Thread Bugs for Correct Execution
- Complete the Thread Management Code
- Mastering Thread Operations in C++
- Unit 3: Understanding Data Sharing Between Threads
- Concurrency Synchronization in Action
- Fixing Synchronization Errors
- Ensuring Thread Safety with Mutex
- Thread-safe Counter Implementation
- Unit 4: Practice Project: Simple Multithreaded Application
- Running Multithreaded File Downloads
- Multithreading with Mutex Protection
- Write Your Multithreaded Order Processor
- Build a Multithreaded Parser
- Multithreaded Message Sender Task
- Synchronized Multithreaded Image Capture