Java Concurrency
Java Threads
Introduction
Concurrency vs. Parallelism
Processes and Threads
Thread Management
Creating and Starting Java Threads
Pausing a Thread
Joining a Thread
Interrupting a Thread
Java Virtual Threads
Thread Safety
Race Conditions and Critical Sections
Thread Safety and Shared Resources
Thread Safety and Immutability
Java Memory Model
Java Memory Model
Java Happens Before Guarantee
Java Synchronized Blocks
Java Volatile Keyword
CPU Cache Coherence in Java Concurrency
False Sharing in Java
Thread Locality
- Java ThreadLocal
Thread Communication
- Thread Signaling
Deadlock and Synchronization
Deadlock
Deadlock Prevention
Starvation and Fairness
Nested Monitor Lockout
Slipped Conditions
Locks and Synchronization
Locks in Java
Read / Write Locks in Java
Reentrance Lockout
Semaphores
Concurrency Utilities
Blocking Queues
The Producer Consumer Pattern
Thread Pools
Thread Congestion in Java
Compare and Swap
Anatomy of a Synchronizer
Non-blocking Algorithms
Performance optimization
- Amdahl's Law
Executor Framework
Introduction
Thread Pools
Executors
Callables and Futures
Asynchronous Programming
Completable Futures
Subscribe to my newsletter
Read articles from Dilip Patel directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
Dilip Patel
Dilip Patel
Software Developer