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-goroutine 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
- Use Per-Element Mutexes for Shared Slice
- Fix Nested Mutex Deadlock in Go
- Safe Concurrent Movie Collections with Mutexes in Go
- Goroutine-Safe Task Queue with Mutex
- Unit 2: Implementing Producer Consumer
- Producer-Consumer: Signal Completion by Closing the Channel
- Fix Producer-Consumer Channel Synchronization
- Complete Producer-Consumer SuperMissionHQ Using Go Channels
- Go Producer-Consumer with Buffered Channels: Summing Integer Pairs
- Implement a Producer-Consumer Food Order System with Go Channels
- Unit 3: Solving Dining Philosophers
- Prevent Deadlock with TryLock in Go Dining Philosophers
- Dining Philosophers with Timed TryLock in Go
- Launch Goroutines and Ordered Fork Locking in Dining Philosophers
- Deadlock-Free Musicians with Goroutines and Mutexes
- Deadlock-Free Engineers with Consistent Mutex Ordering in Go
- Unit 4: Thread Safe Logging System
- Use Separate Mutexes for Each Log File
- Complete a Thread-Safe Superhero Logger in Go
- Thread-Safe Superhero Event Logger in Go