Udemy

Concurrency, Multithreading and Parallel Computing in Java

Enroll Now
  • 29,250 Students
  • Updated 8/2025
4.6
(3,825 Ratings)
CTgoodjobs selects quality courses to enhance professionals' competitiveness. By purchasing courses through links on our site, we may receive an affiliate commission.

Course Information

Registration period
Year-round Recruitment
Course Level
Study Mode
Duration
14 Hour(s) 16 Minute(s)
Language
English
Taught by
Holczer Balazs
Rating
4.6
(3,825 Ratings)
1 views

Course Overview

Concurrency, Multithreading and Parallel Computing in Java

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

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.

Course Content

  • 17 section(s)
  • 135 lecture(s)
  • Section 1 Introduction
  • Section 2 Environment
  • Section 3 ### MULTITHREADING ###
  • Section 4 Multithreading Theory
  • Section 5 Threads Manipulation
  • Section 6 Inter-Thread Communication
  • Section 7 Multithreading Concepts
  • Section 8 Creating Threads with Executors
  • Section 9 Concurrent Collections
  • Section 10 Multithreading Exercise I - Dining Philosophers Problem
  • Section 11 Multithreading Exercise II -Students Library Problem
  • Section 12 ### PARALLEL ALGORITHMS ###
  • Section 13 Parallelization
  • Section 14 Fork-Join Framework
  • Section 15 Using Java's Stream API
  • Section 16 Virtual Threads
  • Section 17 Course Materials (DOWNLOADS)

What You’ll 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


Reviews

  • R
    Rajib Ahmed
    5.0

    He is the one and only author I know that can explain the complex java topics with demo and in easy to understand way.

  • D
    David Roze
    4.5

    Yes very good

  • B
    Bhuvan Dosapati
    5.0

    he is explainng well

  • R
    Rupesh Lokare
    4.5

    It's made very simple to learn with practical examples

Start FollowingSee all

We use cookies to enhance your experience on our website. Please read and confirm your agreement to our Privacy Policy and Terms and Conditions before continue to browse our website.

Read and Agreed