Softwarekonferenz für Parallel Programming,
Concurrency und Multicore-Systeme
Heidelberg, Print Media Academy, 6.-8. April 2016

parallel 2016 » Programm »

// Parallele Verarbeitung mit Java - von Grundlagen zu Streams

Java 8 bietet mit Lambdas und Streams eine ausgezeichnete Möglichkeit, prägnanten Code im funktionalen Stil zu verfassen. Dabei lassen sich Streams ohne explizite Thread-Verwaltung und Synchronisation einfach parallelisieren - sofern der Entwickler einige wenige Randbedingungen beachtet. Was aber, wenn in einem Datenstrom die Informationen auf unterschiedliche Art und Weise ausgewertet werden müssen?

Der Vortrag beleuchtet kurz die Grundlagen der Parallelisierung in Java, um dann einen Schwerpunkt auf die parallele Verarbeitung mittels der neuen Parallel Streams zu setzen. Letzteres gestaltet sich besonders einfach, wenn Entwickler vordefinierte terminale Operationen nutzen. Werden die Daten jedoch mittels Peek aus dem Strom gefischt, um weitere Operationen durchzuführen, sind eigene Lösungen erforderlich. Es kann erforderlich werden, kritische Schritte klassisch zu synchronisieren. Oder aber es ist ein Weg zu finden, die Daten der einzelnen Threads zu trennen und die Ergebnisse erst zum Schluss zusammenzuführen.

Skills
Grundkenntnisse zu Java Lambdas and Streams.

Lernziele
* Überblick zur Parallelverarbeitung mit Java.
* Unterschiedliche Möglichkeiten der Parallelverarbeitung unter Ausnutzung der automatischen Threadverwaltung der Parallelel Streams.

// Referent

// Michael Müller Michael Müller

ist Bereichsleiter Softwareentwicklung im Institut für das Entgeltsystem im Krankenhaus (InEK GmbH). Er verfügt über 30 Jahre Erfahrung in der Softwareentwicklung, davon 25 Jahre im Gesundheitswesen. Neben der Softwareentwicklung war er in Projekt- und Produktmanagement, Beratung und Training tätig. Darüber hinaus verfasst er Buchrezensionen sowie Fachartikel, vorwiegend zum Java-Ökosystem. Er ist Autor des Buchs "Java Lambdas and (parallel) Streams".