Linux hat: bereit, blockiert, läuft, beendet.
Windows hat: Bereit, Zurückgestellt bereit, Standby, Laufen, Warten, Beendet, Initialisiert.
Warum hat Windows so viele Zustände? Welchen Vorteil bietet diese zusätzliche Komplexität?
windows
scheduling
Nickolouse
quelle
quelle
Antworten:
Ein laufender Thread ist der Thread, der derzeit auf einem Prozessor ausgeführt wird. Der Lauf Faden wird aus der Liste der ausgewählten Bereit - Threads für diesen Prozessor, die Fäden sind , die gut sind vertauscht zu werden in auszuführen. Das Standby - Gewinde ist der Bereit - Thread, wird zur Zeit ausgewählt , um den ausgelagert werden Laufzustand als nächsten auf diesem Prozessor. 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 einem beliebigen 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 zu planen.
Threads, die nicht zur Ausführung bereit sind, erhalten den Status, der durch den Grund bestimmt wird, aus dem sie nicht ausgeführt werden können:
Es sollte beachtet werden, dass Thread-Zustände vollständig von Planungsprioritäten getrennt sind, die die Reihenfolge bestimmen, in der Threads zur Ausführung ausgewählt werden.
quelle