Suche
Extreme Java

Java Magazin 1.18 erschienen: Titelthema: Concurrency für Einsteiger

Melanie Feldmann

Bei einem Thema sind sich Java-Experten ziemlich einig: Man sollte versuchen, um Nebenläufigkeit so lange wie möglich drumrum zu kommen. Oft sind Anwendungen auch ohne performant genug. Aber irgendwann ist der Punkt erreicht, an dem sich Entwickler doch mit Concurrency beschäftigen müssen. Das aktuelle Java Magazin gibt Tipps, damit man nicht sofort in der Threadhölle landet.

Wir Menschen können nicht gut multitasken. Es gibt unzählige Experimente und Studien, die zeigen, dass die Gesamtqualität leidet, wenn wir mehrere Aufgaben parallel lösen oder schnell zwischen ihnen springen. Besonders beeindruckend sind Tests mit Autofahrern, die beim Fahren einfache Additions- und Substraktionsaufgaben lösen sollen. Wenn Sie das gesehen haben, wollen Sie sich nie wieder beim Autofahren auch nur unterhalten.

Ganz anders läuft das bei Maschinen. Heute arbeiten Geräte vom Smartphone bis zum Rack-PC im Rechenzentrum mit mehreren Prozessoren. Dabei sinkt im Gegensatz zu uns Menschen die Qualität nicht, sondern es wird meistens einfach schneller. Betonung auf meistens. Denn so schön die parallele Prozessorwelt auch ist, damit die Maschinen auch mit parallelen und asynchronen Prozessen umgehen können, müssen Entwickler die Software auch dementsprechend schreiben. Das bedeutet, dass sich Entwickler mit dem Thema Nebenläufigkeit beschäftigen müssen, auch Concurrency genannt.

Sehen Sie auch im JAX TV: So schöpfen Sie Nebenläufigkeit in Java voll aus

Das ist leider alles andere als trivial. Denn während sich klassischer Java-Code meist linear von oben nach unten schreiben und lesen lässt, ist das bei Nebenläufigkeit nicht mehr der Fall. Die Entwickler müssen ebenso parallel denken, wie die Threads nachher laufen sollen. Ständig geht es um Fragen wie, welcher Thread wann und auf was zugreifen könnte und was passiert, wenn ihm ein anderer Thread zuvorkommt. Man muss also mit ziemlich vielen Unwägbarkeiten und Was-wäre-wenn-Überlegungen arbeiten. Das ist ziemlich weit weg von einer einfachen Wenn-dann-Beziehung. Nicht umsonst raten viele Experten Nebenläufigkeit nur zu nutzen, wenn es auch wirklich sinnvoll für den Anwendungsfall ist. Denn oft ist ein Thread der effizienteste und schnellste Weg von A nach B. Man muss es ja nicht unnötig kompliziert machen.

Dass Concurrency einiges von unseren linear denkenden Gehirnen abverlangt, ist aber natürlich kein Grund klein beizugeben und der Nebenläufigkeit nimmer Wiedersehen zu sagen. Denn wie bei fast jedem komplizierten oder komplexen Thema, können ein paar Tipps, Tricks und Handreichungen für die ersten Schritte dabei helfen, nicht direkt in die Threadhölle zu stolpern. Genau das versuchen wir mit dem Schwerpunkt in diesem Heft: Ihnen den Einstieg in die Nebenläufigkeit zu erleichtern.

Fröhliches Parallelisieren!

Verwandte Themen:

Geschrieben von
Melanie Feldmann
Melanie Feldmann
Melanie Feldmann ist seit 2015 Redakteurin beim Java Magazin und JAXenter. Sie hat Technikjournalismus an der Hochschule Bonn-Rhein-Sieg studiert. Ihre Themenschwerpunkte sind IoT und Industrie 4.0.
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.