This masterclass is designed to transform your understanding of Java by delving into the intricacies of multithreading and parallel programming. Beginning with the basics, you'll learn what processes and threads are, and understand the differences between parallel, concurrent, asynchronous, and non-blocking operations. The course then progresses to advanced concepts such as thread management, including creation, prioritization, and exception handling, with practical projects like parallel text file processing.
Empfohlene Erfahrung
Was Sie lernen werden
Analyze the fundamental building blocks of multithreaded applications to understand their advantages for Java developers.
Evaluate the performance impact of multithreading in applications, including OS and hardware implications.
Apply multithreading concepts in real-world projects and connect them with widely used frameworks.
Kompetenzen, die Sie erwerben
- Kategorie: jUnit
- Kategorie: Java
- Kategorie: Multithreading
- Kategorie: VisualVM
- Kategorie: parallel programming
Wichtige Details
Zu Ihrem LinkedIn-Profil hinzufügen
September 2024
4 Aufgaben
Erfahren Sie, wie Mitarbeiter führender Unternehmen gefragte Kompetenzen erwerben.
Erwerben Sie ein Karrierezertifikat.
Fügen Sie diese Qualifikation zur Ihrem LinkedIn-Profil oder Ihrem Lebenslauf hinzu.
Teilen Sie es in den sozialen Medien und in Ihrer Leistungsbeurteilung.
In diesem Kurs gibt es 9 Module
In this module, we will introduce you to the course, providing an overview of what you will learn and achieve. We will also share tips on how to make the most out of your learning experience and discuss the prerequisites and code resources needed to follow along effectively.
Das ist alles enthalten
3 Videos1 Lektüre
In this module, we will delve into fundamental concepts of multithreading, including the differences between processes and threads. We'll also explore various execution models and explain Amdahl's Law, providing a solid foundation for understanding multithreading.
Das ist alles enthalten
5 Videos
In this module, we will cover the essentials of thread management, from creating threads to managing their priorities and states. You'll learn about handling thread exceptions, working with thread local variables, and addressing race conditions. Additionally, we'll dive into practical applications with a project on parallel text file processing.
Das ist alles enthalten
7 Videos1 Aufgabe
In this module, we will explore the critical concept of thread synchronization. You'll learn about the synchronized keyword, locks, and various synchronization mechanisms, including semaphores and condition variables. Through practical examples, you'll gain a deep understanding of how to synchronize threads effectively.
Das ist alles enthalten
7 Videos
In this module, we will continue our exploration of thread synchronization with advanced techniques. You'll work on projects involving CountDownLatch, barriers, phasers, and Exchangers. We'll also address deadlocks, the volatile keyword, and culminate with a project simulating a MapReduce job.
Das ist alles enthalten
8 Videos
In this module, we will focus on the concept of thread reusability, emphasizing the importance of thread pools. You'll learn to use ThreadPoolExecutor, manage work queues, handle exceptions, and monitor performance. Additionally, we'll explore ForkJoinPools and the best practices for sizing thread pools.
Das ist alles enthalten
10 Videos1 Aufgabe
In this module, we will introduce you to parallel algorithms, starting with Quick Sort and Binary Search. We'll discuss the efficiency and performance benefits of these parallel implementations. You'll also learn about naive and optimal methods for parallel matrix multiplication.
Das ist alles enthalten
4 Videos
In this module, we will tackle some of the most famous multithreading problems. You'll learn about and implement solutions for the Dining Philosophers, Readers-Writers, and Sleeping Barber problems. We'll also discuss the No-Starve Mutex problem, providing practical examples and solutions.
Das ist alles enthalten
4 Videos
In this module, we will apply multithreading concepts to real-world scenarios. You'll learn to monitor JVM performance, run asynchronous workloads with Spring Boot, and use RxJava for building parallel data pipelines. Finally, we'll demonstrate how to unblock UIs with multithreading in JavaFX.
Das ist alles enthalten
6 Videos2 Aufgaben
Dozent
von
Empfohlen, wenn Sie sich für Software Development interessieren
Warum entscheiden sich Menschen für Coursera für ihre Karriere?
Neue Karrieremöglichkeiten mit Coursera Plus
Unbegrenzter Zugang zu über 7.000 erstklassigen Kursen, praktischen Projekten und Zertifikatsprogrammen, die Sie auf den Beruf vorbereiten – alles in Ihrem Abonnement enthalten
Bringen Sie Ihre Karriere mit einem Online-Abschluss voran.
Erwerben Sie einen Abschluss von erstklassigen Universitäten – 100 % online
Schließen Sie sich mehr als 3.400 Unternehmen in aller Welt an, die sich für Coursera for Business entschieden haben.
Schulen Sie Ihre Mitarbeiter*innen, um sich in der digitalen Wirtschaft zu behaupten.
Häufig gestellte Fragen
Yes, you can preview the first video and view the syllabus before you enroll. You must purchase the course to access content not included in the preview.
If you decide to enroll in the course before the session start date, you will have access to all of the lecture videos and readings for the course. You’ll be able to submit assignments once the session starts.
Once you enroll and your session begins, you will have access to all videos and other resources, including reading items and the course discussion forum. You’ll be able to view and submit practice assessments, and complete required graded assignments to earn a grade and a Course Certificate.