Java Threads

Die Intensivtrainings mit Java-Legende
Dr. Heinz Kabutz

Der flexible Grundlagenkurs in Java Threads

Java Threads ist ein Grundlagenkurs. Über zwei Wochen erhalten Sie in kurzen Videos und Übungen aufgeteilte Lektionen, konzipiert von Dr. Heinz Kabutz. Angefangen bei den Basics zu korrektem Thread Code über fortgeschrittene Konstrukte bis hin zu Race Conditions und Deadlocks.

Jeder Abschnitt beinhaltet Übungsaufgaben, die Ihre Fähigkeiten als Java-Programmierer verbessern. Einige dieser Übungen (“schreibe einen ThreadPool”) sind recht sportlich und haben bereits Hunderte von Java-Programmierern ins Schwitzen gebracht. Bei der Lösung dieser Probleme lernen Sie aber, wie Inter-Thread-Kommunikation funktioniert. Sie lernen, wie Sie Ihre Klassen thread-safe halten können sowie auch einiges über Thread-Zustände. Für jede Übung gibt es eine detaillierte Anleitung.

Wie funktionierts?

Ein kurzer Einblick

Im ersten Kapitel erklärt Dr. Heinz Kabutz, warum Java-Threads bedeutsam sind und wie Sie diese in diesem Kurs meistern.

Alle Inhalte

Herzlich willkommen!

In dem ersten Video wird der Aufbau des Kurses und die Bedeutung von Java Threads erläutert.

Lektion 1: Threads-Grundlagen

– Weshalb benutzen wir Threads?
– Threading-Modelle
– Paralleles Rechnen
– Nebenläufiges Rechnen
– Java-Speichermodell
– Wie wir neue Threads erzeugen, u.a. mit Runnable
– Thread Groups und was könnnen wir damit erreichen?
– Wie multi-threading mit Shared Memory umgeht
– Synchronized
– Threads-Zustände
– Kommunikation zwischen Threads
– Proritäten
– java util Timer
– Deamon Threads
– Übungen

Lektion 2: Die Geheimnisse der Threads

– Sabotierte Klingel
– Abgelenkter Unterwasserjäger
– Überbevorratete Kurzwarengeschäft
– Toter Winkel
– Leaked memo
– Korrupter Politiker
– Mikromanagement
– Autofahren auf Kreta
– Plötzlicher Reichtum
– Ungegessener Laugenfisch
– Übungen

Lektion 3: Angewandtes Threading

– Executors
– Executors Services
– Callable und Future
– Executor-Beispiel
– Executor Fassade
– CompletionService
– CountDownLatch
– Semaphore
– BockingQueues mit ArrayBockingQueues, LinkedBockingQueues, PriorityBockingQueues, DelayQueues und SynchronousQueues
– Unerfasste Exceptions
– ThreadLocal mit Code-Beispiel
-Threads mit stop() anhalten
– Shutdown haken
– Aufgaben

Lektion 4: Probleme mit Threads

– Race Conditions mit Beispiel, „Race Condition“ mit synchronized, Atomics, LongAdder und Local Confinement und Merge ausgebessert
– LogAdder
– Lazy Initialization „Race Condition“
– Wie man „Race Condition“ entdeckt
– „Starvation“, Beispiel mit Finalizer, ReadWriteLock “Starvation”, „Starvation” in Thread Dumps, 5.2.2. Wie man „Starvation” findet
– Fairness mit SynchronousQueue Fairness
– „Deadlock” mit HappyLocker-Beispiel, Wie finden wir “Deadlocks”?, Thread Dumps analysieren
– „Livelock”, „Livelock” mit wait() und Selbst-Interrupt
– Aufgaben

Zusammenfassung und Fazit

Im letzten Kapitel erhalten Sie nochmal alles auf einen Blick in der großen Zusammenfassung.


Neue Termine in Kürze

4. – 17. Dezember 2023, online
  • Java Threads

JETZT ANMELDEN

FAQ

Für wen ist das Camp geeignet?

Wir verwenden für diesen Kurs OpenJDK 11 und nutzen dabei die Vorteile der neuen var-Syntax. Aber keine Sorge: auch Programmierer, die bisher nur mit Java 6 oder 7 gearbeitet haben, werden folgen können.

Welche technischen Voraussetzungen braucht es?

Leistungsfähiges und stabiles Internet mit einem aktuellen Browser

Was passiert nach diesen 2 Wochen?

Nach zwei Wochen endet unser Camp. Im Anschluss erhalten Sie ein Teilnahmezertifikat und können jederzeit weiterhin auf die Slides des Trainers zugreifen.

Was ist das Ziel des Kurses?

Die Inhalte dieses Kurses haben wir sehr genau ausgewählt. Unsere Absicht war es, einen kurzen Kurs zu erstellen, in dem Ihnen genügend Kenntnise vermittelt werden, um Ihnen bei Ihrer täglichen Arbeit zu helfen. Fragen im Vorstellungsgespräch zum Thema Nebenläufigkeit werden danach ein Klacks sein!

Kann ich auch in Woche 2 einsteigen?

Ja, das ist kein Problem. Jede Woche kommen neue Videos hinzu, Sie können aber auch alle Videos und Aufgaben an einem Stück bearbeiten.

Gibt es auch Aufgaben zum Kurs und wie wird die Richtigkeit meiner Aufgaben überprüft?

Jeder Abschnitt beinhaltet Übungsaufgaben und auch Musterlösungen. Wenn Sie bei einer Aufgabe stecken bleiben, dann schreiben Sie doch gerne in den Chat.

12. – 25. Juni 2023 | Online
  • Java Threads
  • über 2 Wochen frei einteilbar
  • Nach Ihrem Tempo

JETZT ANMELDEN