Course Outline


Multi-Threading Basics

  • Runnable and thread
  • Producer consumer model
  • Join, volatile, merge, wait, and notify

Parallel Programming

  • Sequential computing vs parallel computing
  • Parallel merge sort
  • Parallel algorithms

Overview of Java (Optional)

  • Syntax and logic

Preparing the Development Environment

  • Installing and configuring JDK

Multi-Threading and Threading

  • Understanding the lifecycle of a thread and lifecycle methods
  • Creating a thread
  • Creating thread schedules
  • Multi-threading API
  • Interpreting threads


  • Optimizing latency
  • Optimizing throughput

Concurrency Challenges and Solutions

  • Sharing data among threads
  • Using conditions and operations
  • Implementing implicit locking
  • Applying explicit locking
  • Using inter-thread communication

Concurrent Collections

  • Implementing concurrent maps
  • Using copyonwrite
  • Working with latches, cyclic barriers, exchangers, and semaphores

The Fork-Join Framework and Parallel Computing Algorithims

  • Using recursive action
  • Working with recursive task
  • Using streams
  • Using maximum finding
  • Merging in Fork-Join

Summary and Conclusion


  • Basic Java programming experience


  • Web Developers
  14 Hours


Related Courses


  14 hours


  21 hours


  14 hours

Enterprise Application Integrations with Spring Integration

  14 hours

Jakarta EE Fundamentals

  28 hours

Quarkus for Developers

  14 hours

Introduction to Apache Struts 2

  14 hours

Learning Gradle

  14 hours

Introduction to JavaServer Faces

  14 hours


  14 hours

Spring Boot for Beginners

  14 hours

Advanced Spring Boot

  14 hours

Spring Boot, React, and Redux

  14 hours

Apache Camel and Spring Boot

  14 hours


  21 hours