When you enroll through our links, we may earn a small commission—at no extra cost to you. This helps keep our platform free and inspires us to add more value.

Concurrency, Multithreading and Parallel Computing in Java
Multithreading and Concurrency, Parallel Computation and MapReduce in Java + Fork-Join and Stream API, Virtual Threads

This Course Includes
udemy
4.7 (3.7K reviews )
14h 16m
english
Online - Self Paced
professional certificate
Udemy
About Concurrency, Multithreading and Parallel Computing in Java
Welcome to your journey into the world of
multithreading, concurrency, and parallel computing in Java
— skills that are _essential_ in today’s high-performance computing era! In the age of
Big Data
,
Machine Learning
, and
multi-core processors
, understanding how to write efficient, thread-safe, and scalable applications is more important than ever. Whether you're building real-time systems, backend services, or distributed applications,
this course will equip you with the tools and mindset to think concurrently
. We’ll start from the foundations —
what threads are
, how they work, and how to manage them — and steadily progress to advanced topics like
parallel algorithms
, the
Fork-Join framework
, and cutting-edge features like
Virtual Threads
introduced in Java's Project Loom. Throughout the course, you’ll implement real-world simulations (like the classic
Dining Philosophers
and
Library Student problem
), gain hands-on experience, and learn to
leverage Java’s concurrency libraries
like a pro.
Section 1 - Multithreading Theory:
theory behind multithreading
pros and cons of multithreading
life cycle of a thead
Section 2 - Threads Manipulation:
starting threads (Runnable interface and Thread class)
join keyword
daemon threads
Section 3 - Inter-Thread Communication:
memory management of threads
synchronization and synchronized blocks
locks
wait and notify
producer-consumer problem and solution
concurrent collections
latch, cyclic barrier and blocking queues
delay queue, priority queue and concurrent maps
Section 4 - Multithreading Concepts:
volatile keywords
deadlocks and livelocks
semaphores and mutexes
dining philosophers problem
library application
Section 6 - Executors and ExecutorServices:
executors
executor services
Section 6 - Concurrent Collections:
synchronization with Collections
latches
cyclic barriers
delay and priority queues
concurrent HashMaps
CopyOnWriteArrayLists
Section 7 - Simulations:
dining philosophers problem
library problem
Section 8 - Parallel Algorithms:
what is parallel computing
parallel merge sort
parallel algorithms
Section 9 - Fork-Join Framework
Fork-Join framework
maximum finding in parallel manner
Section 10 - Stream API
the Stream API explained with examples
map, flatMap, filtering, intermediate and terminal operations
sequential streams and parallel streams
Section 11 - Virtual Threads
platform threads and virtual threads
understanding virtual thread creation and operations
StructuredTaskScope and Subtask
delimited continuation
_Why Take This Course?_
Learn
practical, hands-on skills
to build robust, concurrent Java applicationsStay up to date with
modern Java features
, including
Virtual Threads
Improve your ability to
design thread-safe and scalable code
Build real simulations to
apply what you learn immediately
Whether you're a beginner or someone brushing up on concurrency, this course will
challenge and empower
you to think differently about performance and scalability.
Join now and unlock the power of modern multithreaded programming in Java!
Let’s dive in and write code that truly scales.
What You Will Learn?
- Understand basic concurrency .
- Understand the basics of multithreading .
- Understand parallel processing .
- Able to use the concepts in real life scenarios .
- Understand concurrent collections .
- Understand synchronization and locking .
- Understand the Fork-Join Framework .
- Understand Stream API.