This course builds on the concepts from the introductory Java Concurrency course. It dives deeper into memory visibility, synchronization mechanisms, deadlocks, inter-thread communication, and introduces lock-free programming techniques. You will learn how to optimize synchronization, use advanced lock mechanisms, and prevent common concurrency issues such as deadlocks and race conditions.
Overview
Syllabus
- Lesson 1: Java Memory Model and The Volatile Keyword
- Lesson 2: Optimizing Synchronization with Double-Checked Locking
- Lesson 3: Deadlocks and Lock Mechanisms
- Lesson 4: Thread Coordination with wait/notify
- Lesson 5: Lock-Free Programming with Atomic Variables