This practice-based course reinforces the concepts learned in the previous course `Concurrency Essentials`. It includes real-life tasks that focus on synchronization mechanisms, lock-free programming, deadlock prevention, and inter-thread communication. Each unit provides a practical scenario where students can apply their knowledge to solve concurrency challenges.
Overview
Syllabus
- Unit 1: Mastering Mutexes and Deadlocks
- Assign Each Resource a Mutex
- Fixing Locking Issue
- Master Thread-safe Movie Collection
- Building a Thread-safe Task Manager
- Unit 2: Implementing the Real-World Producer-Consumer Problem
- Flag for Completion in Producer-Consumer
- Fix the Synchronization Bug
- Fill in the Producer-Consumer Blanks
- Math Producer-Consumer Synchronization Task
- Building a Food Order System
- Unit 3: Simulating the Dining Philosophers Problem and Solving Deadlocks
- Implement Timeout in Dining Philosophers
- Introducing Timed Locks for Philosophers
- Threads and Locks for Philosophers
- Build a Multithreaded Musician Simulation
- Concurrency Challenge for Engineers
- Unit 4: Thread-safe Logging System
- Enhance Thread Safety with Mutexes
- Complete the Thread-Safe Logger
- Create a Thread-safe Event Logger