Parallele Programmierung in Java

Beschreibung

Die parallele Programmierung ist aus der modernen Software-Entwicklung nicht mehr wegzudenken. Java wurde dazu in den neueren Versionen um zahlreiche Features erweitert, welche diese Art der Programmierung deutlich vereinfachen. In unserem Seminar werden sowohl die Bordmittel der Sprache, als auch populäre Bibliotheken wie RxJava oder Akka vorgestellt und durch praktische Übungen vertieft.

Schulungsinhalte

Grundlagen der Parallelität in Java

  • Wege zum parallelen Programmieren: Threads, Streams, Futures und Aktoren
  • Single-Core vs. Multi-Core
  • Synchronisation und Ausschluss
  • Parallelität vs. Asynchronität
  • Task- und Datenparallelität
  • Kritische Abschnitte

Java Threads

  • Grundlagen, Definition und Start von Threads, sleep, join
  • Elementare Thread-Eigenschaften, Thread-State
  • Daemon Threads
  • Threads im Kontext vom Betriebssystem
  • Probleme mit thread-basierter Programmierung: Deadlock, Livelock, Starvation, Race Condition
  • Typische Anwendungsfälle: Client/Server-Programmierung, Erzeuger/Verbraucher, aufwändige Berechnungen

Synchronisationskonzepte

  • Schlüsselwort synchronized
  • Überblick Lock-Klassen in Java
  • ReentrantLocks, CyclicBarrier, Latches und weitere
  • Monitor und wait/notify
  • Collections und Multi-Threading:
  • Threadsichere Collections in Java
  • BlockingQueue, Concurrent Maps

Abstrahierende Konzepte in Java

  • Executors, Atomics, ForkJoinPools 
  • Futures in Java: CompletableFuture
  • Java 8: Parallele Streams

Reactive Streams

  • Die Grundidee und das “Reactive Manifesto”
  • Überblick RxJava, Flows und Observables
  • Asynchrone Datenströme und back pressure

Aktorenmodelle

  • Aktoren als Model für nebenläufige Programmierung
  • Kurzeinführung in Akka

Zielgruppe

Dieses Seminar richtet sich an Software-Entwickler, mit Grundkenntnissen der Programmiersprache Java, die gezielt im Bereich der parallelen Programmierung stärken werden wollen.

Zur Zeit sind keine Termine verfügbar.

SIE BENÖTIGEN HILFE ODER HABEN
FRAGEN ZU IHRER BUCHUNG?

Dr. Frank Raiser

+49 731 1403434-51
schulung@konzept-is.de

Nur einen Moment..
Wird geladen.