Practical implementations of Java Multithreading and Concurrency concepts.
- Thread creation
- Thread lifecycle
- Daemon threads
- Race condition
- Synchronized methods & blocks
- Volatile keyword
- Deadlock
- wait / notify (Condition)
- Atomic variables
- Thread pools (ExecutorService)
- Callable & Future
- CompletableFuture
- ForkJoin Framework
- Thread-safe collections
- Immutable classes
- Singleton in multithreaded environment
src/
βββ basic
βββ concurrency
βββ atomic
βββ collections
βββ executor
βββ async
βββ forkjoin
βββ immutable
βββ singleton
- Java 17+
- java.util.concurrent
- ForkJoinPool
- ExecutorService
- CompletableFuture
Each example contains a main() method.
Run any class individually to observe the behavior.
This project is built for:
- Strengthening Java concurrency knowledge
- Interview preparation
- Demonstrating practical understanding of multithreading
Created as part of advanced Java concurrency learning journey.