YoVDO

Concurrency, Multithreading and Parallel Computing in Java

Offered By: Udemy

Tags

Java Courses Big Data Courses Machine Learning Courses Parallel Computing Courses Concurrency Courses Multithreading Courses Stream API Courses

Course Description

Overview

Multithreading and Concurrency, Parallel Computation and MapReduce in Java + Fork-Join and Stream API, Virtual Threads

What you'll learn:
  • Understand basic concurrency
  • Understand the basics of multithreading
  • Understand parallel processing
  • Able to use the concepts in real life scenarios
  • Understand concurrent collections
  • Understand synchronization and locking
  • Understand the Fork-Join Framework
  • Understand Stream API

This course is about the basics of multithreading and concurrent programming with some parallel concepts. In the 21st century this topic is becoming more and more popular with the advent of Big Data and Machine Learning. We will consider the low level concepts such as threads,synchronization andlocks. The second chapter will be about concurrent library: of course there are built in classes and interfaces that we can use when implementing multithreaded applications. Then we develop little programs as show-cases for multithreading: the dining-philosopher problem and the students in library simulation. Last chapter is about parallel computing and MapReduce.

Section 1 - Multithreading Theory:

  • theory behind multithreading

  • pros and cons of multithreading

  • life cycle of a thead

Section 2 - Threads Manipulation:

  • starting threads (Runnable interface and Thread class)

  • join keyword

  • daemon threads

Section 3 - Inter-Thread Communication:

  • memory management of threads

  • synchronization and synchronized blocks

  • locks

  • wait and notify

  • producer-consumer problem and solution

  • concurrent collections

  • latch, cyclic barrier and blocking queues

  • delay queue, priority queue and concurrent maps

Section 4 - Multithreading Concepts:

  • volatile keywords

  • deadlocks and livelocks

  • semaphores and mutexes

  • dining philosophers problem

  • library application

Section 6 - Executors and ExecutorServices:

  • executors

  • executor services

Section 6 - Concurrent Collections:

  • synchronization with Collections

  • latches

  • cyclic barriers

  • delay and priority queues

  • concurrent HashMaps

  • CopyOnWriteArrayLists

Section 7 - Simulations:

  • dining philosophers problem

  • library problem

Section 8 - Parallel Algorithms:

  • what is parallel computing

  • parallel merge sort

  • parallel algorithms

Section 9 - Fork-Join Framework

  • Fork-Join framework

  • maximum finding in parallel manner

Section 10 - Stream API

  • the Stream API explained with examples

  • sequential streams and parallel streams

Section 11 - Virtual Threads

  • platform threads and virtual threads

  • understanding virtual thread creation and operations

  • StructuredTaskScope and Subtask

  • delimited continuation

Section 12 - BigData and MapReduce:

  • what is MapReduce

  • MapReduce and Fork-Join framework

Thanks for joining my course, let's get started!


Taught by

Holczer Balazs

Related Courses

FinTech for Finance and Business Leaders
ACCA via edX
Accounting Data Analytics
University of Illinois at Urbana-Champaign via Coursera
Advanced AI on Microsoft Azure: Ethics and Laws, Research Methods and Machine Learning
Cloudswyft via FutureLearn
Ethics, Laws and Implementing an AI Solution on Microsoft Azure
Cloudswyft via FutureLearn
Post Graduate Certificate in Advanced Machine Learning & AI
Indian Institute of Technology Roorkee via Coursera