This introductory course covers essential Java multithreading concepts like thread creation, synchronization, and race condition prevention. You'll explore synchronized and concurrent collections, deadlock prevention, and advanced techniques such as lock-free programming with atomic variables.
Overview
Syllabus
- Unit 1: Understanding Concurrency
- Understanding Thread Execution in Java
- Change HelloThread to Runnable
- Fix Thread Execution Issue
- Creating Threads from Scratch
- Unit 2: Thread Lifecycle and Basic Operations
- Thread Lifecycles in Action
- Using Join to Control Execution
- Adjust Thread Priorities for Balance
- Thread Lifecycle State Logging
- Traffic Lights Simulation
- Unit 3: Data Sharing and Synchronization
- Synchronization in Action
- Enhance Thread Synchronization Task
- Synchronize Ticket Reservation System
- Implement a Thread-Safe Bank Account
- Unit 4: Synchronized Blocks for Better Control
- Understanding Synchronized Blocks in Java
- Convert Synchronized Method to Synchronized Block
- Safely Update Warehouse Inventory
- Synchronized Document Editor
- Unit 5: Building a Simple Multithreaded Application
- Running a Multithreaded Downloader
- Adding More Threads
- Adding a Pause Feature
- Add Progress Indicator for Downloads