Course Outline

Introduction

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

Optimization

  • 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

Requirements

  • Basic Java programming experience

Audience

  • Web Developers
  14 Hours
 

Testimonials

Related Courses

Advanced Spring Boot

  14 hours

Apache Camel and Spring Boot

  14 hours

Spring Boot for Beginners

  14 hours

SpringBootBasic

  21 hours

Introduction to Apache Struts 2

  14 hours

Guava

  21 hours

Jakarta EE Fundamentals

  28 hours

Introduction to JavaServer Faces

  14 hours

Learning Gradle

  14 hours

NetBeans

  14 hours

OpenXava

  14 hours

Quarkus for Developers

  14 hours

Spring Boot, React, and Redux

  14 hours

Enterprise Application Integrations with Spring Integration

  14 hours

Vaadin

  14 hours