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. |
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