Introduction to Java Concurrency
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.
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 Concurrency In Practice
This practice-based course builds on concepts from Java Concurrency Foundations, with real-life tasks focused on synchronization, lock-free programming, deadlock prevention, and inter-thread communication. Each unit presents practical scenarios that challenge you to solve concurrency issues and reinforce your understanding.
Synchronized and Concurrent Collections in Java
This course dives into Java's synchronized and concurrent collections, covering thread-safe options like ConcurrentHashMap, CopyOnWriteArrayList, and blocking queues. You'll learn to manage data sharing and concurrency effectively, transitioning from basic synchronized collections to high-performance, scalable concurrent utilities for real-world applications.
Concurrent Collections in Action
This practice-based course builds on concepts from "Synchronized and Concurrent Collections in Java." It includes real-world tasks centered on using concurrent collections, advanced synchronization techniques, and efficient data-sharing methods. Each unit presents practical scenarios where you'll tackle concurrency challenges and strengthen your skills.