Skip to content
UdemyJavaPaid courseAll LevelsCertificate

Concurrency, Multithreading and Parallel Computing in Java (Udemy.com)

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

Created by: Holczer Balazs

Last updated September 2026

icon
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

How it compares

Against the other 231 rated Udemy courses in Java on CourseDuck:

  • Rating4.5 out of 5higher than 53% of them
  • Reviews4,034#61 of 232 by number of reviews
  • Length14.4 hourslonger than 67% of them
  • Last updatedSeptember 2026more recently than 94% of them

icon
Quality Score

Content Quality
/
Video Quality
/
Qualified Instructor
/
Course Pace
/
Course Depth & Coverage
/

Overall Score : 90 / 100

icon
Course Description

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 applications
Stay up to date with modern Java features, including Virtual Threads
Improve your ability to design thread-safe and scalable codeBuild 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.

icon
Udemy Discount

The discount is applied through our link. Open the course from here and Udemy's current promotional price is applied at checkout on most courses, no code to type.

Some courses are excluded from Udemy's promotions. If the price does not drop, clear your browser cookies and use the button again.

icon
Instructor Details

Holczer Balazs

My name is Balazs Holczer. I am from Budapest, Hungary. I am qualified as a physicist. At the moment I am working as a simulation engineer at a multinational company. I have been interested in algorithms and data structures and its implementations especially in Java since university. Later on I got acquainted with machine learning techniques, artificial intelligence, numerical methods and recipes such as solving differential equations, linear algebra, interpolation and extrapolation. These things may prove to be very very important in several fields: software engineering, research and development or investment banking. I have a special addiction to quantitative models such as the Black-Scholes model, or the Merton-model.

Take a look at my website if you are interested in these topics!

icon
More courses by Holczer Balazs

$16.99

$11.99

$10.99

$13.99

$13.99

$84.99

icon
Reviews

4.5

4,034 ratings on Udemy

Select a bar to show only those reviews.Select the bar again to show every rating.

By Serhii Mazur on 1/20/2025

This course is excellent for those whose native language is Slavic! The author explains each line of code in detail, breaking down its functionality within the examples. I really appreciate this clear and structured approach!

By Jason Lee on 12/20/2024

The last section using the in preview APIs were not useful as I couldn't get it to run on my machine, might be worth updating the course to include instructions, but the majority of the course was very informational and useful. I learned a lot. Good course overall

By Calebe Dos Santos Oliveira on 11/24/2024

Really good content about java threads. Always had a hard time wrapping my head around the concept of asynchronous programming in Java, but this course cleared it up a lot for me. In my estimation, the most important sections were about the ForkJoin framework, virtual threads and futures.

By Gaurav Baranwal on 11/24/2024

I recently completed the "Multithreading and Concurrency" course, and it exceeded my expectations! The explanations were crystal clear, breaking down complex concepts into digestible pieces that made it easy to understand even the most challenging topics. The course was incredibly informative, covering everything from the basics to advanced techniques with real-world examples. It not only clarified my existing doubts but also gave me a deeper understanding of how multithreading works in practice. The instructor’s ability to explain abstract concepts like race conditions, thread synchronization, and deadlocks with simple analogies was truly commendable. I particularly appreciated the hands-on exercises and practical coding examples, which reinforced the theory and provided a strong foundation for applying these skills in real-world scenarios. The pacing of the course was just right, and the instructor’s enthusiasm made the learning experience engaging and enjoyable. Overall, this course is a must for anyone looking to master multithreading and concurrency. Whether you're a beginner or looking to refine your skills, this course will provide immense value. Highly recommended!

By Nancy Vrinieska Morales on 9/29/2024

Porque me va explicando paso a paso como desarrollar el ejercicio y además primero me da una introducción del tema y lo explica antes de pasarlo a código lo cual me gusta porque entiendo mejor a la hora de hacer el ejercicio, además tiene ejercicios para resolver.

By Marcin Wolski on 1/9/2024

Although the course is not bad, it could be much better. First of all, explaining several commands with similar examples is not a good idea, because it is easy to confuse them, it is also quite boring. Secondly, there could be some more difficult examples to analyse, and pdfs with commands and how to use them, now I have to search them in files or recordings.

By Eduard Mititiuc on 4/2/2023

I liked this course. I learned a lot of interestings and usefull things. Should recognize what It wasn't easy at all. Some concepts were really difficult to understand, but the teacher explained every concept very well and showed a lot of practical examples. Anyway, sometimes more explanation was really necessary, and I had to use another resources. However, I recommend this course to everyone.

By ALEXANDRE A BARBOSA on 12/1/2022

Awesome! Holczer manages to explain something complex very well because of his deep and huge knowledge about this subject. He supported me many times during the course when I did it in the first time and I am now redoing this course to review the concepts, API, scenarios and problems that he guide us in the course. I highly recommend this course for Java Developers who want to learn multithreading, concurrency and parallel programming with Java Thread in details with a lot of examples.

By Svetlana Prokhorchik on 7/22/2022

Course covered all the topics required to understand Concurrency framework and correctly answer questions during an interview. It also contains more than that which is quite useful and interesting. However there are some mistakes and not crucial bugs in the code examples. Especially in Fork-Join Framework. Also would like to have concrete realization of MapReduce approach.

By Tejashree Devale on 3/10/2018

The instructor is knowledgeable as well as experienced. This course provides the In-depth understanding of multithreading and an ideal coding practice.I would strongly recommend this course to everyone who wants to learn multithreading.

Step by steps, Instructor explains clearly especially the complex algorithms, instructor quite understand and teach easy in each steps,
by giving an example from easy to complex.

Very in depth course. Thoroughly enjoying myself and learning a lot of internals.

Showing 12 of 55 reviews