Konrad-Adenauer-Gymnasium Langenfeld

Informatik Grundkurs Q1

Zustandsübergänge von Threads

Die folgende Abbildung zeigt die Zustände eines Threads und die Methoden bzw. Ereignisse, wie er von einem Zustand in einen anderen wechselt.

Der Zustand neu

Nach dem Konstruktor-Aufruf erhält man ein "leeres" Objekt; es existiert bereits, belegt aber keine Ressourcen.

Der Zustand lauffähig

Durch den Aufruf von start() wird der Thread geladen und belegt die benötigten Ressourcen. Sobald er Rechenzeit erhält, fängt er an zu laufen. Durch sleep() oder wait() wechselt er in den Zustand blockiert und kann von dort wieder zurückkehren.

Der Zustand blockiert

In diesem Zustand wird der Thread angehalten. Er kehrt entweder nach einer bestimmten Zeit (bei sleep()) oder den Aufruf von notify() oder notifyAll() wieder in den Zustand lauffähig zurück.

Der Zustand tot

Erreicht die run-Methode eines Threads ihr normales Ende, stirbt er und erreicht den Zustand tot. Das tritt ebenfalls ein, wenn dem Thread-Objekt der Wert null zugewiesen wird.


© Ralph-Erich Hildebrandt, 27. September 2004