Kapitel 14. Gleichzeitigkeit auf der JVM

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

Mario Fusco

Ursprünglich waren Raw Threads das einzige Gleichzeitigkeitsmodell, das auf der JVM verfügbar war, und sie sind immer noch die Standardwahl für das Schreiben paralleler und nebenläufiger Programme in Java. Als Java vor 25 Jahren entwickelt wurde, war die Hardware jedoch noch ganz anders. Die Nachfrage nach parallelen Anwendungen war geringer und die Vorteile der Gleichzeitigkeit wurden durch das Fehlen von Multicore-Prozessoren eingeschränkt - Aufgaben konnten zwar entkoppelt, aber nicht gleichzeitig ausgeführt werden .

Heutzutage hat die Verfügbarkeit und die Erwartung der Parallelisierung die Grenzen des expliziten Multithreading deutlich gemacht. Threads und Sperren sind zu niedrigschwellig: Es ist schwierig, sie richtig zu nutzen, und das Java-Speichermodell zu verstehen, ist noch schwieriger. Threads, die über gemeinsam genutzte veränderbare Zustände kommunizieren, sind für massive Parallelität ungeeignet und führen zu unbestimmten Überraschungen, wenn der Zugriff nicht richtig synchronisiert ist. Und selbst wenn deine Sperren richtig angeordnet sind, besteht der Zweck einer Sperre darin, parallel laufende Threads einzuschränken und damit den Grad der Parallelität deiner Anwendung zu verringern. ...

Get 97 Dinge, die jeder Java-Programmierer wissen sollte 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.