Ein Laufender Thread ist der Thread, der derzeit auf einem Prozessor ausgeführt wird. Der Laufende Thread wird aus der Liste der Ready- Threads für diesen Prozessor ausgewählt. Dies sind Threads, die gut ausgeführt werden können, um ausgeführt zu werden. Der Standby- Thread ist der Ready- Thread, der derzeit ausgewählt ist, um als nächstes auf diesem Prozessor in den Status " Running" zu wechseln. Dies kann sich jedoch ändern, wenn ein Thread mit höherer Priorität bereit ist, bevor die Änderung vorgenommen wird.
Deferred Ready ist ein globaler Status, der angibt, dass der Thread auf jedem Prozessor ausgeführt werden kann. Dies kann beispielsweise für eine CPU verwendet werden, um einen Thread mit hoher Priorität auf einer anderen CPU einzuplanen.
Threads, die nicht betriebsbereit sind, werden durch den Grund bestimmt, aus dem sie nicht ausgeführt werden können:
- Threads werden während der Erstellung in den Zustand Initialisiert versetzt .
- Threads können auf ein Ereignis warten, z. B. Synchronisierung oder E / A-Abschluss, oder müssen warten, wenn sie auf Speicher zugreifen, der auf die Festplatte ausgelagert ist. Sobald das Ereignis signalisiert wurde oder das Timeout abgelaufen ist, kann der Thread erneut ausgeführt werden.
- Threads werden in den Transition- Status versetzt, da der Kernel-Stack ausgelagert wurde. Diese Threads können erst ausgeführt werden, wenn ihr Kernel-Stack wieder verfügbar ist.
- Fäden, die ausgetreten sind, werden in platziert Terminated - Zustand, bis das System gereinigt wird.
Es sollte beachtet werden, dass die Thread-Status vollständig von den Prioritäten für die Zeitplanung getrennt sind, die die Reihenfolge festlegen, in der die Threads zur Ausführung ausgewählt werden.