What you’ll learn
-
Understand basic concurrency
-
Understand the basics of multithreading
-
Understand parallel processing
-
Able to use the concepts in real life scenarios
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
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
Deal Score+2
Disclosure: This post may contain affiliate links and we may get small commission if you make a purchase. Read more about Affiliate disclosure here.