Multithreading is an advanced topic for any developer, and they struggle to understand many allied concepts related to it. The goal here is to make you understand in depth the multithreading concepts, applied and exemplified in Java.
The course starts with the basics of multithreading—threads, processes, concurrency, and parallelism. Then you will go through thread management concepts. After that, you will learn about thread synchronization and look at synchronization tools such as locks, wait sets and notifications, read and write locks and semaphores, barriers and phasers, and deadlocks and cache coherency enforcement. Next, you will explore tools in Java to deal with thread reusability, manage performance, choose the right parameters (tuning), and many others.
Next, you will see how to improve the runtime of a couple of known algorithms through multithreading. After that, you will study a couple of problems and their solution on Java Threading API to understand parallelism and synchronization. Finally, you will look at the connection between multithreading and widely used frameworks, such as Spring Boot, JavaRx, and JavaFX.
By the end of this course, you will understand multithreading in detail, get hands-on experience in Java, and learn to improve the performance of the app with multithreading.
All the resource files are added to the GitHub repository at:
https://github.com/PacktPublishing/Java-Multithreading-and-Parallel-Programming-Masterclass
Read more