Udemyallen

Master Java Multithreading Programming from Zero (Modern)

Master Java threading with modern techniques! Learn with a step-by-step, hands-on approach using Lambdas & Streams. Boost your Java skills.

4.3(513)
25,185students
8h 42m
Syed Ahmed
Syed AhmedPrincipal Engineer

Course Content

Master Java Multithreading Programming from Zero (Modern) is an all-levels Udemy course taught by Syed Ahmed. It runs 8h 42m and is taught in English. Learners rate it 4.3 out of 5 from 513 reviews, with 25,185 students enrolled. It is free to enroll, first published January 2020.

Master Java Multi-threading: A Comprehensive Guide

Course Overview

Unlock the power of concurrent programming with this comprehensive Java multi-threading course. Learn to build robust and scalable applications using modern Java techniques. This course is designed for both beginners and experienced Java programmers looking to master threading and parallel programming in Java. We'll dive deep into practical applications using Lambda expressions and Streams, empowering you to create real-world Java applications. Get ready for hands-on learning and real-world implementation experience.

Course Details

Section 1: Introduction

  • Introduction to Java Multi-threading: Get started with the fundamentals of concurrent execution.
  • Understanding Threads: Explore the concept of threads and their role in parallel processing.
  • Java Development Kit (JDK) Installation: A step-by-step guide to installing the JDK.
  • IntelliJ IDEA Setup (Windows): Learn to install and configure IntelliJ IDEA for efficient Java development on Windows.
  • IntelliJ IDEA Configuration: Customize your IDE for optimal performance.
  • Git Repository Link: Access the course resources and code repository.
  • Development Environment Setup: Import code and set up your development environment.

Section 2: Multi-threading Basics

  • Sequential vs. Parallel Processing: Understand the difference between traditional sequential execution and the benefits of parallel processing.
  • The Thread Class: Learn how to create and manage threads using the core Thread class.
  • Parallel Programming with the Thread Class: Implement parallel tasks using the Thread class.

Section 3: Lambda Expressions

  • Introduction to Lambda Expressions: Discover the concise syntax of lambda expressions.
  • Lambda Expressions (Part 1 & 2): Deep dive into the structure and usage of lambda expressions.
  • Runnable Examples with Lambda: Create runnable tasks using lambda expressions.
  • Comparator Examples with Lambda: Implement custom sorting logic using lambda expressions.
  • Callable Examples with Lambda: Create callable tasks that can return a value.

Section 4: Advanced Multi-threading Concepts

  • Parallel Programming with the Runnable Interface: Utilize the Runnable interface for parallel execution.
  • join() Method: Synchronize threads using the join() method.
  • volatile Keyword: Understand and use the volatile keyword for thread safety.
  • Deadlock and LiveLock: Learn to identify and prevent deadlock and livelock scenarios.
  • Synchronization: Implement synchronization mechanisms to protect shared resources.
  • Synchronized Methods: Use synchronized keywords to create synchronized methods.
  • Synchronized Blocks: Employ synchronized blocks for finer-grained control over synchronization.
  • wait(), notify(), notifyAll(): Utilize these methods for thread communication and synchronization.
  • Locks: Implement locking mechanisms using Lock interfaces.
  • Semaphores: Control access to resources using semaphores.
  • Executor Framework: Manage thread pools using the Executor framework.
  • Executor with Runnable and Callable: Submit tasks to an executor service.
  • Callable & Future: Understand how to use Callable and Future for asynchronous task execution and result retrieval.

Section 5: Concurrent Utilities

  • CountDownLatch: Use CountDownLatch for synchronization based on reaching a certain count.
  • CyclicBarrier: Implement barrier synchronization for multiple threads.
  • BlockingQueue: Utilize BlockingQueue for thread-safe queue operations.
  • ArrayBlockingQueue: Implement a blocking queue using an array.
  • DelayQueue: Implement a blocking queue that delays task execution.
  • LinkedBlockingQueue: Implement a blocking queue using a linked list.
  • PriorityBlockingQueue: Implement a blocking queue with priority-based task scheduling.
  • SynchronousQueue: Implement a blocking queue that only allows synchronous operations.

Section 6: Concurrent Collections

  • Traditional vs. Concurrent Collections: Understand the differences and when to use each.
  • ConcurrentHashMap: Utilize ConcurrentHashMap for thread-safe hash map operations.
  • NavigableMap: Explore the capabilities of NavigableMap for sorted map operations.

Section 7: Functional Interfaces and Lambdas (Lambda Part 2)

  • Functional Interfaces: Understand
$ whoami — the devs behind tutorialsearch.io

Need a web app built? Hire the team behind TutorialSearch.io

We ship fast, production-grade full-stack apps (Next.js, React, edge infra) — the same stack that powers this site.