This course explores advanced concurrency utilities provided by the Java Concurrency API. You will learn how to use synchronization aids like Semaphores, Barriers, and Phasers to coordinate complex interactions between threads. The course includes practical applications and real-life tasks to demonstrate how these utilities can solve concurrency challenges.
Overview
Syllabus
- Unit 1: Using Semaphores for Resource Management
- Managing Printer Access with Semaphores
- Managing Game Server Access with Semaphores
- Fix the Reservation Deadlock
- Complete the Parking Lot Simulation
- Semaphore-Powered Connection Pool Manager
- Unit 2: Coordinating Threads with CyclicBarrier
- Synchronizing Threads with CyclicBarrier
- Multi-Phase Hiking with CyclicBarrier
- Cyclists Synchronizing with CyclicBarrier
- Coordinating a Road Trip with Threads
- Unit 3: Managing Phased Activities with Phaser
- Race Simulation with Phaser Coordination
- Expand Race Simulation with Phaser
- Fix Phaser Synchronization in Assembly Line
- Multiplayer Game with Phaser Synchronization
- Online Shopping with Phaser Synchronization
- Unit 4: Data Exchange Between Threads Using Exchanger
- Thread Synchronization with Exchanger
- Simulating Delayed Consumer Behavior
- Adding a Number Exchanger
- Simulate a Two-User Chat System
- Unit 5: Applying Advanced Concurrency Utilities to Practical Scenarios
- Mastering Concurrent Data Processing
- Simulate Order Fulfillment System
- Image Processing Pipeline with Semaphore and Phaser
- Scientific Data Processing Challenge