Concurrency, Multithreading and Parallel Computing in Java
Offered By: Udemy
Course Description
Overview
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 LeadersACCA 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