Multithreading and Parallel Computing in Java |
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:
- theory behind multithreading
- pros and cons of multithreading
Section 2:
- multithreading basics
- Runnable and Thread
- join, volatile, synchronized, wait and notify
- producer-consumer model
- locks, semaphores and executors
Section 3:
- concurrent collections
- latch, cyclic barrier and blocking queues
- delay queue, priority queue and concurrent maps
Section 4:
- multithreaded examples
- dining philosophers problem
- library application
- miner game
Section 5:
- what is parallel computing
- parallel merge sort
- parallel algorithms
Section 6:
- Fork-Join framework
- maximum finding in parallel manner
Section 7:
- 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
- Get the course