Java Concurrency: Multithreading with Exercises - 2025
- Description
- Curriculum
- FAQ
- Reviews
Welcome to the World of Java Programming!
Welcome to our Java Concurrency Course! We are happy to have you here as you begin your journey into programming or grow your skills. This course is perfect for everyone—whether you’re just starting, thinking about switching careers, or simply curious about coding. You don’t need a computer science degree to join—just a desire to learn.
Why Take This Course?
At ITER Academy, we have already taught over 1,000 students in classrooms. Now, we are bringing all that knowledge and experience online, so more people can benefit. Your teacher, Andrii Partola, is a Senior Java Engineer who works with Java every day. He uses Java to create powerful and complex programs for real companies. He has taken his real-world experience and turned it into lessons that are easy to understand and fun to follow.
Learn with Real-Life Examples
Learning is easier when you can see how things work. That’s why this course is full of real-life examples. You’ll see how Java is used to solve problems, so you can understand not just what you’re learning, but also why it’s useful. These examples will help you remember things better and prepare you to use Java on your own.
Quizzes to Check Your Knowledge
To make sure you really understand the material, this course includes quizzes after many lessons. These quizzes will help you review important ideas and see how much you’ve learned. They’re a fun way to test yourself and feel confident before moving on to the next topic.
Practice Coding with Exercises
The best way to learn programming is by writing code yourself. That’s why this course has lots of coding exercises. These exercises give you a chance to practice what you’ve learned and solve problems like a real programmer. By doing this, you’ll get better and more confident with every lesson.
Lessons Designed for Success
We didn’t just create this course from scratch. We studied many other popular courses to learn what works best. Every lesson in this course is carefully organized, so it’s easy to follow and makes sense step by step. Each lesson is packed with useful information, so you learn quickly without wasting time.
Free Access to All Code
All the code written in this course is available on GitHub. You can download it, use it, and practice with it whenever you need. This means you’ll always have access to examples to help you as you keep learning.
Why Choose ITER Academy?
-
Practical knowledge: Learn the skills that are used in real programming jobs.
-
Simple and clear lessons: No confusing words or hard-to-follow explanations.
-
Step-by-step structure: Each lesson builds on the last one, so you never feel lost.
-
Experienced teacher: Learn from a professional Java engineer with years of experience.
Start Learning Today
With easy-to-follow lessons, plenty of examples, quizzes, and exercises, this course gives you everything you need to become confident in Java programming. Join us today and let’s start your journey into the world of coding together!
-
1Introduction to Multithreading in JavaVideo lesson
What is Multithreading
Concurrency vs. Parallelism
Processes vs. Threads
Advantages and disadvantages of Multithreading
-
2Introduction to Multithreading in JavaQuiz
This quiz covers the essential concepts of multithreading in Java, focusing on the definition, advantages, and disadvantages of multithreading, thread creation, concurrency vs. parallelism, and common issues such as race conditions and deadlocks.
-
3Thread creation and managementVideo lesson
Creating and starting threads
Difference between start() and run() methods
Thread states and life cycle
Thread priorities and scheduling
Daemon Threads
-
4Thread creation and managementQuiz
This quiz covers the essential concepts of thread creation and management in Java, focusing on the methods of creating threads, thread states, and thread scheduling techniques.
-
5Thread creation and managementQuiz
-
6SynchronizationVideo lesson
Why synchronization is needed
Synchronized methods and blocks
Monitors, wait(), notify(), and notifyAll()
Deadlocks and how to avoid them
-
7SynchronizationQuiz
This quiz covers the essential concepts of synchronization in Java, focusing on the purpose and use of synchronization, race conditions, synchronized methods and blocks, monitors, and deadlock prevention.
-
8SynchronizationQuiz
-
9Thread InterruptionVideo lesson
Interrupting threads
InterruptedException
Interrupting non-interruptible threads
-
10Thread InterruptionQuiz
This quiz covers the essential concepts of thread interruption in Java, focusing on the purpose and methods of interrupting threads, handling InterruptedException, and best practices for checking and responding to interruptions.
-
11Thread InterruptionQuiz
-
12Thread CommunicationVideo lesson
Inter-thread communication
Wait-notify mechanism
Guarded Blocks
Joining threads
-
13Thread CommunicationQuiz
This quiz covers the essential concepts of thread communication in Java, focusing on inter-thread communication, synchronization, the wait-notify mechanism, and the use of the join() method.
-
14Thread CommunicationQuiz
-
15The Executor FrameworkVideo lesson
Introduction to the Executor framework
Executor, ExecutorService, and ThreadPoolExecutor
Executor lifecycle methods
Submitting tasks to ExecutorService
CompletableFuture in Executor framework
-
16The Executor FrameworkQuiz
This quiz covers the essential concepts of the Executor Framework in Java, focusing on task management, the Executor and ExecutorService interfaces, thread pools, and lifecycle management of executors.
-
17The Executor Framework - CallableQuiz
-
18The Executor Framework - CompletableFutureQuiz
-
19The Fork/Join FrameworkVideo lesson
Introduction to the Fork/Join Framework
RecursiveTask and RecursiveAction classes
ForkJoinPool and its methods
Divide-and-conquer approach
Task stealing and work balancing
Examples of using the Fork/Join Framework
-
20The Fork/Join FrameworkQuiz
This quiz covers the essential concepts of the Fork/Join Framework in Java, focusing on task management, key classes and methods, task stealing, and the use of ForkJoinPool.
-
21The Fork/Join FrameworkQuiz
-
22Thread PoolsVideo lesson
Introduction to Thread Pools
Creating and managing Thread Pools
Types of Thread Pools
ThreadPoolExecutor in detail
-
23Thread PoolsQuiz
This quiz covers the essential concepts of Thread Pools in Java, focusing on different types of thread pools, their creation, and appropriate use cases.
-
24Thread Safety and Atomic VariablesVideo lesson
What is thread safety
Atomic variables and classes
Synchronized collections
Volatile keyword
-
25Thread Safety and Atomic VariablesQuiz
This quiz covers the essential concepts of thread safety and atomic variables in Java, focusing on race conditions, synchronization, atomic operations, and appropriate use cases for atomic variables and concurrent data structures.
-
26Thread Safety and Atomic VariablesQuiz
-
27Thread Local VariablesVideo lesson
Introduction to Thread Local Variables
Why are they needed
ThreadLocal class and methods
Usage examples
-
28Thread Local VariablesQuiz
This quiz covers the essential concepts of Thread Local Variables in Java, focusing on their purpose, usage, and appropriate scenarios for their application.
-
29Lock FrameworkVideo lesson
Introduction to Lock Framework
ReentrantLock
ReadWriteLock
Lock conditions
-
30Lock FrameworkQuiz
This quiz covers the essential concepts of the Lock Framework in Java, focusing on ReentrantLock, ReadWriteLock, lock conditions, and the appropriate use cases for these tools in managing concurrency and synchronization.
-
31Lock FrameworkQuiz

External Links May Contain Affiliate Links read more