Kapitel 9. Threading und Synchronisationsleistung

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

Von Anfang an lag ein Teil der Anziehungskraft von Java darin, dass es multithreadingfähig ist. Schon in den Tagen, als Multicore- und Multi-CPU-Systeme noch nicht die Norm waren, galt die Fähigkeit, in Java problemlos Programme mit Threads zu schreiben, als eines der Markenzeichen der Software.

In Bezug auf die Leistung liegt der Reiz auf der Hand: Wenn zwei CPUs zur Verfügung stehen, kann eine Anwendung doppelt so viel Arbeit oder die gleiche Menge an Arbeit doppelt so schnell erledigen. Das setzt voraus, dass die Aufgabe in einzelne Segmente aufgeteilt werden kann, da Java keine autoparallelisierende Sprache ist, die die algorithmischen Teile herausfindet. Glücklicherweise geht es bei der Datenverarbeitung heutzutage oft um diskrete Aufgaben: ein Server, der gleichzeitig Anfragen von einzelnen Clients bearbeitet, ein Batch-Job, der dieselbe Operation an einer Reihe von Daten durchführt, mathematische Algorithmen, die in einzelne Teile zerlegt werden, und so weiter.

In diesem Kapitel erfährst du, wie du die maximale Leistung aus den Threading- und Synchronisierungsfunktionen von Java herausholen kannst.

Gewindeschneiden und Hardware

Erinnere dich an die Diskussion in Kapitel 1 über Multicore-Systeme und Hyper-Thread-Systeme. Das Threading auf Softwareebene ermöglicht es uns, die Vorteile mehrerer ...

Get Java Performance, 2. Auflage now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.