Das Thread Scheduling in der JVM erfolgt durch einen Algorithmus, der nicht genau spezifiziert ist. Der Algorithmus kann die Prioritäten berücksichtigen, die man in Java den einzelnen Threads zuordnen kann.
Folgendes Beispiel (Abbildung
) zeigt dieses.
Ein weiterer Thread MainThread (Abbildung
) startet
den vorherigen Thread Thread1 dreimal.
Die drei Threads werden jeweils mit unterschiedlichen Prioritäten gestartet. Die Bildschirmausgabe zeigt dann wie oft welcher Thread sich im rechnenden Zustand befindet.
Die Implementierung der JVM in der Version 1.3 unter Linux erfolgt so, dass jeweils für die Threads einzelne Prozesse gestartet werden.