Über den Tellerrand - Überschrift

 

Die einzelnen Programmteile, die gleichzeitig ausgeführt werden, nennt man Threads. Ein Thread kann beispielsweise eine Berechnung ausführen, während ein anderer eine Benutzeraktion ermöglicht.
Für den Programmierer ergeben sich in diesem Zusammenhang völlig neue Probleme, vor allem deswegen, weil die meisten Programmiersprachen Threads nicht direkt unterstützen. So muß ein Entwickler bei einer üblichen Programmiersprache selbst darauf achten, daß sich die Threads eines Programmes bei gleichzeitigen Zugriffen auf gemeinsame Resourcen nicht gegenseitig ungewollt beeinflussen. Manche Threads müssen auch miteinander synchronisiert werden, etwa weil ein Thread das Ergebnis anderer Threads benötigt. Bibliotheksfunktionen sind meist nicht darauf vorbereitet, gleichzeitig von mehreren Threads aufgerufen zu werden.
Java ist hingegen konzeptionell bereits für Multithreading ausgelegt. Alle Klassen sind threadfähig und Java verfügt über Synchronisationsmechanismen zur korrekten Anordnung einzelner Threads. Für einige Aufgaben verwendet Java selbst Threads, etwa für die Speicherverwaltung oder für die Ereignisverwaltung der Benutzeroberfläche. Mit Java läßt sich in einem Programm beispielsweise eine Grafik über das Internet laden und sukzessive anzeigen, gleichzeitig eine Animation samt zugehöriger Sound-Datei abspielen und zusätzlich eine Oberfläche mit Fenster und Menüs für Benutzereingaben realisieren. Der Programmierer muß nur die verschiedenen Threads in seinem Programm erstellen, den Rest erledigt Java.

Javas Speicherverwaltung

Das Konzept der Speicherverwaltung von Java kennt keinen Heap, auf dem dynamisch Speicher für Daten alloziert wird. Gerade die manuelle Speicherverwaltung üblicher Programmiersprachen erfordert eine sorgfältige Implementierung und ist eine häufige Fehlerquelle. Java dagegen sorgt zur Laufzeit selbst dafür, daß der Speicherplatz erst dann alloziert wird, wenn die Ausführung eines Objekts durch einen Aufruf ansteht und übergibt Objekte und Klassen, die nicht mehr referenziert werden, dem Garbage Collector, der sie aus dem Speicher entfernt.

Das Geheimnis Java - 6 / 12

Linie

Home ButtonZurück ButtonVor Button

116