Dieser Kurs vermittelt Lernenden (Fachleuten aus der Industrie und Studenten) die grundlegenden Konzepte der gleichzeitigen Programmierung im Kontext von Java 8. Die nebenl盲ufige Programmierung erm枚glicht es Entwicklern, die Nutzung von gemeinsamen Ressourcen in parallelen Programmen effizient und korrekt zu vermitteln. Am Ende dieses Kurses lernen Sie die grundlegenden Konstrukte der Parallelit盲t in Java wie Threads, Sperren, kritische Abschnitte, atomare Variablen, Isolation, Akteure, optimistische Parallelit盲t und parallele Sammlungen sowie deren theoretische Grundlagen (z.B. Fortschrittsgarantien, Deadlock, Livelock, Starvation, Linearisierbarkeit) kennen. Warum dieser Kurs? - Es ist wichtig, dass Sie die theoretischen Grundlagen der Parallelit盲t kennen, um h盲ufige aber subtile Programmierfehler zu vermeiden.

Morgen endet die Aktion: Entdecken Sie neue F盲higkeiten mit 30% Rabatt auf Kurse von Branchenexperten. Jetzt sparen.


Gleichzeitige Programmierung in Java
Dieser Kurs ist Teil von Spezialisierung 蹿眉谤 Parallele, gleichzeitige und verteilte Programmierung in Java

Dozent: Vivek Sarkar
26.379 bereits angemeldet
Bei enthalten
(663听叠别飞别谤迟耻苍驳别苍)
Kompetenzen, die Sie erwerben
- Kategorie: Java Programmierung
- Kategorie: Fehlersuche
- Kategorie: System Programmierung
- Kategorie: Datenstrukturen
- Kategorie: Java
- Kategorie: Algorithmen
- Kategorie: Grunds盲tze der Programmierung
Wichtige Details

Zu Ihrem LinkedIn-Profil hinzuf眉gen
4 Aufgaben
Erfahren Sie, wie Mitarbeiter f眉hrender Unternehmen gefragte Kompetenzen erwerben.

Erweitern Sie Ihre Fachkenntnisse
- Lernen Sie neue Konzepte von Branchenexperten
- Gewinnen Sie ein Grundverst盲ndnis bestimmter Themen oder Tools
- Erwerben Sie berufsrelevante Kompetenzen durch praktische Projekte
- Erwerben Sie ein Berufszertifikat zur Vorlage

In diesem Kurs gibt es 7 Module
Willkommen bei Concurrent Programming in Java! Dieser Kurs ist als dreiteilige Serie konzipiert und deckt ein Thema oder einen Wissensbereich durch verschiedene Videovortr盲ge, Demonstrationen und Programmierprojekte ab.
Das ist alles enthalten
1 Video5 Lekt眉ren1 Programmieraufgabe1 Diskussionsthema
In diesem Modul werden wir mehr 眉ber Threads und Sperren erfahren, die seit 眉ber f眉nf Jahrzehnten als primitive Bausteine 蹿眉谤 die gleichzeitige Programmierung dienen. Alle Computerplattformen bieten heute irgendeine Form der Unterst眉tzung 蹿眉谤 Threads und Sperren und stellen sie Entwicklern 蹿眉谤 eine Vielzahl von Programmiersprachen zur Verf眉gung. Wir werden lernen, wie Threads mit Hilfe von strukturierten (z.B. synchronisierte Anweisungen/Methoden) und unstrukturierten (z.B. java.util.concurrent libraries) Sperren in Java erstellt, verbunden und synchronisiert werden k枚nnen. Wir werden auch neue Klassen von Fehlern kennenlernen, die auftreten k枚nnen, wenn nebenl盲ufige Programme auf gemeinsame Ressourcen zugreifen m眉ssen. Diese Fehler werden als Verletzungen von Lebendigkeits-/Fortschrittsgarantien bezeichnet und umfassen Deadlock, Livelock und Starvation. Zum Abschluss dieses Moduls werden wir verschiedene L枚sungen 蹿眉谤 das klassische "Dining Philosophers"-Problem untersuchen und diese L枚sungen zur Veranschaulichung von Deadlock-, Livelock- und Starvation-Problemen verwenden.
Das ist alles enthalten
6 Videos6 Lekt眉ren1 Aufgabe1 Programmieraufgabe
In diesem Modul lernen wir verschiedene Ans盲tze zur Koordinierung von Zugriffen auf gemeinsam genutzte Ressourcen kennen, ohne auf die bereits untersuchten Deadlock- oder Livelock-Fehler zu sto脽en. Kritische/isolierte Abschnitte sind nebenl盲ufige Programmierkonstrukte auf h枚herer Ebene (im Vergleich zu Sperren), die die Implementierung des gegenseitigen Ausschlusses vereinfachen, indem sie die Abwesenheit von Deadlocks und Livelocks garantieren. Die objektbasierte Isolierung lockert die durch kritische Abschnitte auferlegten Beschr盲nkungen, indem sie es erm枚glicht, den gegenseitigen Ausschluss auf einer objektspezifischen Basis zu spezifizieren, wie im Beispiel des Spanning Tree gezeigt. Die atomaren Variablen von Java stellen einen wichtigen, aber eingeschr盲nkten Fall von objektbasierter Isolation dar, der auf allen Hardwareplattformen effizient implementiert ist. Schlie脽lich werden wir lernen, wie die objektbasierte Isolation durch Lese-/Schreibzugriffsmodi weiter gelockert werden kann.
Das ist alles enthalten
6 Videos6 Lekt眉ren1 Aufgabe1 Programmieraufgabe
Begleiten Sie Professor Vivek Sarkar zu einem Gespr盲ch mit dem Software-Ingenieur Dr. Shams Imam in seinem B眉ro in Houston, Texas, 眉ber Threads, Sperren, Deadlocks, High-Level- und Low-Level-Konstrukte und die Bedeutung der gleichzeitigen Programmierung
Das ist alles enthalten
2 Videos1 Lekt眉re
In diesem Modul lernen wir einen weiteren High-Level-Ansatz 蹿眉谤 die gleichzeitige Programmierung kennen, das sogenannte "Actor"-Modell. Ein wesentlicher Unterschied zwischen dem Akteursmodell und dem Modell der isolierten Abschnitte besteht darin, dass im Akteursmodell keine Daten眉berschneidungen m枚glich sind, da es keine Form von gemeinsam genutzten Variablen zul盲sst. Wie in allen Modellen der nebenl盲ufigen Programmierung sind jedoch auch im Akteursmodell aufgrund der inh盲renten Asynchronit盲t in der Reihenfolge, in der Nachrichten zugestellt werden k枚nnen, Formen des Nicht-Determinismus auf h枚herer Ebene m枚glich. Wir werden mehrere Beispiele 蹿眉谤 Gleichzeitigkeit unter Verwendung des Actor-Modells untersuchen, darunter den klassischen Sieve of Eratosthenes-Algorithmus zur Erzeugung von Primzahlen sowie Producer-Consumer-Muster mit unbegrenzten und begrenzten Puffern.
Das ist alles enthalten
6 Videos6 Lekt眉ren1 Aufgabe1 Programmieraufgabe
In diesem Modul werden wir uns mit nebenl盲ufigen Datenstrukturen besch盲ftigen, die eine wesentliche Softwareschicht in allen Multithread-Programmiersystemen bilden. Zun盲chst lernen wir Optimistic Concurrency kennen, ein wichtiges Multithreading-Muster, bei dem zwei Threads "optimistisch" Fortschritte bei der ihnen zugewiesenen Arbeit machen k枚nnen, ohne sich 眉ber gegenseitige Konflikte Gedanken zu machen, und nur auf Konflikte pr眉fen, bevor sie die Ergebnisse ihrer Arbeit "festschreiben". Anschlie脽end werden wir die weit verbreitete Datenstruktur Concurrent Queue untersuchen. Auch wenn die APIs 蹿眉谤 die Verwendung von Concurrent Queues sehr einfach sind, k枚nnen ihre Implementierungen unter Verwendung des Optimistic Concurrency-Modells komplex und fehleranf盲llig sein. Zu diesem Zweck werden wir auch den formalen Begriff der Linearisierbarkeit kennenlernen, um die Anforderungen an die Korrektheit von nebenl盲ufigen Datenstrukturen besser zu verstehen. Anschlie脽end werden wir uns mit Concurrent Hash Maps besch盲ftigen, einer weiteren weit verbreiteten nebenl盲ufigen Datenstruktur. Schlie脽lich besprechen wir einen nebenl盲ufigen Algorithmus zur Suche nach einem Minimum Spanning Tree eines ungerichteten Graphen, ein Algorithmus, der sich auf die Verwendung von nebenl盲ufigen Datenstrukturen unter der Haube st眉tzt.
Das ist alles enthalten
6 Videos7 Lekt眉ren1 Aufgabe1 Programmieraufgabe
Die n盲chsten beiden Videos zeigen, wie wichtig es ist, etwas 眉ber parallele Programmierung und verteilte Programmierung in Java zu lernen. Professor Vivek Sarkar wird bei Two Sigma mit Fachleuten aus der Industrie dar眉ber sprechen, wie die Themen unserer beiden anderen Kurse in der Praxis eingesetzt werden.
Das ist alles enthalten
2 Videos1 Lekt眉re
Erwerben Sie ein Karrierezertifikat.
F眉gen Sie dieses Zeugnis Ihrem LinkedIn-Profil, Lebenslauf oder CV hinzu. Teilen Sie sie in Social Media und in Ihrer Leistungsbeurteilung.
Dozent

Mehr von Softwareentwicklung entdecken
- Status: Kostenloser Testzeitraum
Rice University
- Status: Kostenloser Testzeitraum
Board Infinity
- Status: Kostenloser Testzeitraum
Rice University
Warum entscheiden sich Menschen 蹿眉谤 糖心vlog官网观看 蹿眉谤 ihre Karriere?




Bewertungen von Lernenden
663 Bewertungen
- 5 stars
66,81听%
- 4 stars
24,73听%
- 3 stars
5,88听%
- 2 stars
1,05听%
- 1 star
1,50听%
Zeigt 3 von 663 an
Gepr眉ft am 27. Nov. 2020
It could have been better. Course content is very basic and just scratches the surface of concurrent programming. However, fully recommend it for beginners.
Gepr眉ft am 20. Sep. 2020
Very good explanation of the concepts of locks, and how important data-structures example HashMap are optimized to improve performance
Gepr眉ft am 1. Mai 2020
It was a really interesting course where the things were presented in a very simplified manner in which I could learn the topics in a short span of time.

Neue Karrierem枚glichkeiten mit 糖心vlog官网观看 Plus
Unbegrenzter Zugang zu 10,000+ Weltklasse-Kursen, praktischen Projekten und berufsqualifizierenden Zertifikatsprogrammen - 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 蹿眉谤 糖心vlog官网观看 for Business entschieden haben.
Schulen Sie Ihre Mitarbeiter*innen, um sich in der digitalen Wirtschaft zu behaupten.
H盲ufig gestellte Fragen
Um Zugang zu den Kursmaterialien und Aufgaben zu erhalten und um ein Zertifikat zu erwerben, m眉ssen Sie die Zertifikatserfahrung erwerben, wenn Sie sich 蹿眉谤 einen Kurs anmelden. Sie k枚nnen stattdessen eine kostenlose Testversion ausprobieren oder finanzielle Unterst眉tzung beantragen. Der Kurs kann stattdessen die Option "Vollst盲ndiger Kurs, kein Zertifikat" anbieten. Mit dieser Option k枚nnen Sie alle Kursmaterialien einsehen, die erforderlichen Bewertungen abgeben und eine Abschlussnote erhalten. Dies bedeutet auch, dass Sie kein Zertifikat erwerben k枚nnen.
Wenn Sie sich 蹿眉谤 den Kurs einschreiben, erhalten Sie Zugang zu allen Kursen der Spezialisierung, und Sie erhalten ein Zertifikat, wenn Sie die Arbeit abgeschlossen haben. Ihr elektronisches Zertifikat wird Ihrer Seite "Leistungen" hinzugef眉gt - von dort aus k枚nnen Sie Ihr Zertifikat ausdrucken oder Ihrem LinkedIn-Profil hinzuf眉gen.
Wenn Sie ein Abonnement abgeschlossen haben, erhalten Sie eine kostenlose 7-t盲gige Testphase, in der Sie kostenlos k眉ndigen k枚nnen. Danach gew盲hren wir keine R眉ckerstattung, aber Sie k枚nnen Ihr Abonnement jederzeit k眉ndigen. Siehe unsere vollst盲ndigen R眉ckerstattungsbedingungen.
Weitere Fragen
Finanzielle Unterst眉tzung verf眉gbar,