Next: Aufgabe
Up: Threads
Previous: Userlevel und Kernel-Threads
  Contents
Java-Threads
In der JVM laufen alle Java-Programme als Threads. Die
Java-Programme haben mindestens einen Thread, der das Programm
kontrolliert.
Mit Hilfe der Klasse Thread der Java-API lassen sich auf
zwei unterschiedliche Weisen weitere Threads kreieren:
- Man erweitert die Klasse Thread, wobei man die Methode
public void void run() overriden muss. Der Rumpf der Methode
run legt fest, was der Thread nach seinem Start ausführt. Die Klasse
Thread besitzt eine Methode start(), welche für jede
Instanz der Subklasse von Thread die Methode run als eigenen
neuen Thread startet. Betrachten wir das Beispiel in Abbildung
Figure:
Ein neuer Java-Thread
 |
Die Klasse NewThread ist eine Subklasse von Thread. Hierin
wird die Methode run overriden. In der Klasse MainThread wird
eine Instanz der Klasse NewThread gebildet und die von der Klasse
Thread geerbte Methode start aufgerufen.
- Eine zweite Möglichkeit ist den Konstruktor der Klasse Thread mit einem
Objekt einer Klasse, die das Interface Runnable (Abbildung
) implementiert, als Argument aufzurufen.
Figure:
Das Interface Runnable
 |
In diesem Fall muss man nun ein Objekt der Klasse Thread bilden und
wiederum die Methode start aufrufen. Abbildung
zeigt ein Beispiel dafür.
Figure:
Ein neuer Java-Thread mit Hilfe des Interfaces Runnable
 |
Die Klasse RunnableNewThread implementiert das Interface
Runnable. In der Klasse MainRunnableThread wird nun eine
Instanz der Klasse Thread gebildet mit einem Konstruktor der als Argument
eine Instanz der Klasse RunnableNewThread hat. Nun wird mit der
Methode start der Instanz der Klasse Thread der neue Thread
aktiviert.
Die Klasse Thread stellt noch eine ganze Reihe von Methoden zur
Kontrolle von Threads in Java zur Verfügung. Hierzu sei auf die
Java-Dokumentation der Klasse java.lang.Thread verwiesen.
Subsections
Next: Aufgabe
Up: Threads
Previous: Userlevel und Kernel-Threads
  Contents
Prof. Dr. Pluemicke
2003-05-10