Back-end Engineering
271 learners
Java Concurrency Foundations
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.
Java
See path
5 lessons
22 practices
3 hours
Badge for Computer Science Fundamentals,
Computer Science Fundamentals
Lessons and practices
Understanding Volatile Keyword in Action
Enhancing Volatile with Multiple Threads
From Synchronized to Volatile
Volatile Stop Signal for Worker Thread
Implement Volatile Temperature Monitor
Double-Checked Locking in Action
Optimize Logger with Double-Checked Locking
Database Connection Singleton Task
Implement a Singleton with Double-Checked Locking
Safeguard Threads with Lock Order
Fix Lock Order to Prevent Deadlock
Advanced Locking for Safe Execution
Convert Synchronized BankAccount to ReentrantLock
Implement a Shared Resource Allocator Using ReentrantLock
Coordinating Threads with Countdown
Coordinating Multiple Countdown Threads
Identify the Countdown Bug
Simulate a Parking Lot Coordination System
Lock-Free Operations in Java
Add Reset and Decrement to Atomic Counter
Convert Synchronized Inventory Management to Atomic Variables
Ticket Booking System with Atomic Variables
Meet Cosmo:
The smartest AI guide in the universe
Our built-in AI guide and tutor, Cosmo, prompts you with challenges that are built just for you and unblocks you when you get stuck.
Sign up
Join the 1M+ learners on CodeSignal
Be a part of our community of 1M+ users who develop and demonstrate their skills on CodeSignal