Concurrency, Multithreading and Parallel Computing in Java

Udemy Concurrency, Multithreading and Parallel Computing in Java

Register & Get access to index
LGwWDqH.jpg

Multithreading and Concurrent Programming, Parallel Computation and MapReduce in Java + Fork-Join and Stream API

What you'll learn
  • Understand basic concurrency
  • Understand the basics of multithreading
  • Understand parallel processing
  • Able to use the concepts in real life scenarios

Requirements
  • Basic Java (inheritance, object oriented programming)


Description
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 and locks. 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 develope little programs as show-cases for multithreading: the dining-philosopher problem or 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
  • miner game
Section 6 - Executors and ExecutorServices:
  • executors
  • executor services
Section 6 - Concurrent Collections:
  • latches
  • cyclic barriers
  • delay and priority queues
  • concurrent HashMaps
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 - BigData and MapReduce:
  • what is MapReduce
  • MapReduce and Fork-Join framework
Thanks for joining my course, let's get started!
Who this course is for:
  • This course is meant for students who want to get a good grasp on multithreading in java or just want a quick refresher
Author
TUTProfessor
Downloads
81
Views
1,053
First release
Last update
Rating
0.00 star(s) 0 ratings

More resources from TUTProfessor