Java Magazin - 01.2018 - Extreme Java


Preis: 9,80 €

Erhältlich ab:  Dezember 2017

Umfang:  100

Autoren / Autorinnen: Veikko Krypczyk, Elena Bochkor, Masoud Amri, Michael Kuhn, Matthias Merdes, Arne Limburg, Ralf D. Müller, Gernot Starke, Konstantin Diener, Martin Maher, Georgi Todorov, Nabeel Imtiaz, Ralf Bruchmüller, Heinz Kabutz, Boris Fresow, Markus Günther, Roger Gilliar, Michael Hofmann, Melanie Feldmann, Manfred Steyer

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 Subtraktionsaufgaben 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.

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!

feldmann_melanie_sw.tif_fmt1.jpgMelanie Feldmann | Redakteurin

Mail Website Twitter Xing Google

Neugierig geworden?


   
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang