Konrad-Adenauer-Gymnasium Langenfeld

Informatik Grundkurs Q1

Threadprioritäten

Jeder lauffähige Thread bewirbt sich um die Zuteilung des Prozessors. Die Ausführung mehrerer Threads auf einem einzigen Prozessor nennt man Scheduling. Java unterstützt ein prioritätsgesteuertes Scheduling, bei dem immer dem Thread mit der höchsten Priorität der Prozessor zugeteilt wird. Haben mehrere Threads die höchste Priorität, erhält einer von ihnen den Prozessor zugeteilt.

Methoden und Konstanten zur Prioritätssteuerung von Threads

public final int getPriority()

public final void setPriority(int prioritaet)

public static final int MIN_PRIORITY

public static final int MAX_PRIORITY

public static final int NORM_PRIORITY

Liefert bzw. setzt die Priorität eines Threads. Threads mit höherer Priorität werden vor denen mit niedrigerer Priorität bearbeitet.
Die Priorität liegt zwischen MIN_PRIORITY und MAX_PRIORITY; die Standardpriorität ist NORM_PRIORITY.

Ein Thread erbt bei seiner Erzeugung die Priorität seiner Superklasse. Mit der Methode setPriority() kann die Priorität eines Threads geändert werden.

Erst wenn der Thread mit sleep() oder yield() den Prozessor freigibt oder wenn er stirbt, haben Threads mit niedrigerer Priorität eine Chance den Prozessor zu bekommen.


© Ralph-Erich Hildebrandt, 27. September 2004