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.

Udemy logo

Concurrency, Multithreading and Parallel Computing in Java

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

     
  • 4.7
  •  |
  • Reviews ( 3.7K )
₹559

This Course Includes

  • iconudemy
  • icon4.7 (3.7K reviews )
  • icon14h 16m
  • iconenglish
  • iconOnline - Self Paced
  • iconprofessional certificate
  • iconUdemy

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.