Free Course Image Java Concurrency and Multithreading

Free online courseJava Concurrency and Multithreading

Duration of the online course: 8 hours and 38 minutes

New

Build fast, reliable Java apps with a free concurrency course—master threads, virtual threads, locks, and ExecutorService with hands-on practice.

In this free course, learn about

  • Core concepts: concurrency vs parallelism; benefits of multithreading in modern CPUs
  • Creating, starting, and stopping threads; prefer Runnable/Callable to define thread work
  • Virtual threads: what they are and why they scale better than platform threads
  • Java Memory Model basics: heap role, visibility, ordering, and the happens-before guarantee
  • Using synchronized blocks/methods: mutual exclusion and visibility effects
  • volatile semantics: visibility guarantee, ordering constraints, and when it’s appropriate
  • CPU cache coherence and its impact on visibility/performance in concurrent Java code
  • ThreadLocal usage: per-thread state, retrieval behavior, and common use cases
  • Race conditions: how they happen and how to prevent them with proper synchronization
  • Thread pools and ExecutorService: task submission, lifecycle, and invokeAny behavior
  • Locks: ReentrantLock characteristics and when to choose it over synchronized
  • Deadlocks: common causes and simplest prevention technique (consistent lock ordering)
  • BlockingQueue and producer-consumer pattern: efficient coordination and CPU utilization
  • CAS/atomics, false sharing, signaling/wait-notify, ForkJoinPool, and ConcurrentHashMap

Course Description

Modern Java applications rarely run in a quiet, single-threaded world. Web backends handle thousands of requests, data pipelines process streams continuously, and desktop or mobile apps must stay responsive while work happens in the background. This free online course helps you become confident with Java concurrency and multithreading so you can write software that is faster, safer, and easier to scale.

You will learn how threads actually behave in the JVM, how to create and manage them correctly, and when a different approach is a better fit. You will explore virtual threads and what they change for high-throughput, I/O-heavy services, then connect those ideas to the fundamentals that never go away: the Java Memory Model, visibility, ordering, and the happens-before guarantee. With that foundation, concepts like volatile, synchronized blocks, and CPU cache coherence stop feeling like magic and start becoming practical tools you can apply with intention.

As you move forward, the course strengthens your ability to design predictable multithreaded code. You will recognize and prevent race conditions, understand the difference between concurrency and parallelism, and choose strategies that match the problem instead of adding complexity. You will get comfortable with core building blocks used in real systems such as thread pools, locks like ReentrantLock, ThreadLocal, and higher-level execution patterns with ExecutorService, including methods that control how tasks are scheduled and results are retrieved.

You will also learn to spot classic failure modes early. Deadlocks, congestion, and false sharing can quietly destroy performance or reliability; here you will see why they happen and how to avoid them through disciplined structure and simple prevention techniques. The course connects these ideas to scalable coordination patterns like producer-consumer with BlockingQueue, signaling between threads, and efficient parallel execution using ForkJoinPool. By the end, you will be better prepared to reason about concurrency tradeoffs and build Java applications that remain correct under load.

Course content

  • Video class: Java Concurrency and Multithreading - Introduction 14m
  • Exercise: What is a primary advantage of multi-threading in modern computing?
  • Video class: Java Threads - Creating, starting and stopping threads in Java 17m
  • Exercise: Which method is recommended to define the code a thread should run in Java?
  • Video class: Java Virtual Threads 09m
  • Exercise: What is a primary advantage of virtual threads in Java over platform threads?
  • Video class: The Java Memory Model - The Basics 23m
  • Exercise: What is the main role of the heap in Java memory management with threads?
  • Video class: Java Happens Before Guarantee - Java Memory Model - Part 2 26m
  • Exercise: What role does the Java 'volatile' keyword play in multithreaded applications?
  • Video class: Java Synchronized - The synchronized keyword in Java and Java synchronized blocks and methods 45m
  • Exercise: What is the effect of a synchronized method in Java?
  • Video class: Java Volatile 21m
  • Exercise: What is the purpose of the 'volatile' keyword in Java?
  • Video class: CPU Cache Coherence Java Concurrency 05m
  • Exercise: What is Java's thread visibility guarantee related to volatile variables?
  • Video class: Java ThreadLocal 14m
  • Exercise: What value does a thread retrieve from a Java ThreadLocal instance it set earlier?
  • Video class: Race Conditions in Java Multithreading 22m
  • Exercise: What is a race condition in multithreading?
  • Video class: Concurrency vs Parallelism 09m
  • Exercise: What is the difference between concurrency and parallelism?
  • Video class: Thread Pools in Java 18m
  • Exercise: How does a thread pool manage task execution?
  • Video class: Java Lock 28m
  • Exercise: What is a key characteristic of the ReentrantLock class in Java?
  • Video class: Java ExecutorService - Part 1 20m
  • Exercise: What is the purpose of the invokeAny method in Java Executor Service?
  • Video class: Java ExecutorService - Part 2 21m
  • Video class: Java ExecutorService Using Virtual Threads 04m
  • Exercise: What is a key benefit of using an Executor service with virtual threads in Java 19?
  • Video class: Deadlock in Java 17m
  • Exercise: What can lead to a deadlock in a multithreading environment?
  • Video class: Deadlock Prevention in Java 17m
  • Exercise: What is the simplest deadlock prevention technique discussed?
  • Video class: Java BlockingQueue 17m
  • Exercise: What is a key feature of a Java Blocking Queue?
  • Video class: Producer Consumer Pattern - With Java Example 19m
  • Exercise: What is an efficient way to utilize CPU resources in the producer-consumer pattern?
  • Video class: Compare and Swap in Java 24m
  • Exercise: What does the 'compare and swap' functionality do in a concurrent algorithm?
  • Video class: False Sharing in Java 17m
  • Exercise: What is False Sharing in Java?
  • Video class: Single-threaded and Same-threaded designs 18m
  • Exercise: What is the advantage of a single-threaded design in server architecture?
  • Video class: Thread Congestion in Java 17m
  • Exercise: How can thread congestion be alleviated in a Java concurrency setup?
  • Video class: Thread Signaling in Java 23m
  • Exercise: How does thread signaling work in Java?
  • Video class: Java ForkJoinPool 27m
  • Exercise: What is a key feature of Java Fork Join Pool?
  • Video class: Java ConcurrentMap and ConcurrentHashMap 14m
  • Exercise: Which Java map implementation offers the best concurrency?

This free course includes:

8 hours and 38 minutes of online video course

Digital certificate of course completion (Free)

Exercises to train your knowledge

100% free, from content to certificate

Ready to get started?Download the app and get started today.

Install the app now

to access the course
Icon representing technology and business courses

Over 5,000 free courses

Programming, English, Digital Marketing and much more! Learn whatever you want, for free.

Calendar icon with target representing study planning

Study plan with AI

Our app's Artificial Intelligence can create a study schedule for the course you choose.

Professional icon representing career and business

From zero to professional success

Improve your resume with our free Certificate and then use our Artificial Intelligence to find your dream job.

You can also use the QR Code or the links below.

QR Code - Download Cursa - Online Courses

More free courses at Programming Languages ( Python, Ruby, Java, C )

Free Ebook + Audiobooks! Learn by listening or reading!

Download the App now to have access to + 5000 free courses, exercises, certificates and lots of content without paying anything!

  • 100% free online courses from start to finish

    Thousands of online courses in video, ebooks and audiobooks.

  • More than 60 thousand free exercises

    To test your knowledge during online courses

  • Valid free Digital Certificate with QR Code

    Generated directly from your cell phone's photo gallery and sent to your email

Cursa app on the ebook screen, the video course screen and the course exercises screen, plus the course completion certificate