Java Concurrency

Dilip PatelDilip Patel
1 min read

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

0
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