Anwendungen mit höherer Priorität haben seit den Tagen von Windows NT ein größeres Quantum, beispielsweise für Vordergrundthreads.
Es sind 32 Prioritätsstufen (0 bis 31) definiert, wobei die Prioritäten 0 bis 15 "normale" Prioritäten sind und die Prioritäten 16 bis 31 weiche Echtzeit-Prioritäten sind, die die Zuweisung von Privilegien erfordern. 0 ist für das Betriebssystem reserviert. Benutzer können 5 dieser Prioritäten auswählen, um sie einer laufenden Anwendung über die Task-Manager-Anwendung oder über Thread-Verwaltungs-APIs zuzuweisen. Der Kernel kann die Prioritätsstufe eines Threads abhängig von seiner E / A- und CPU-Nutzung und davon, ob er interaktiv ist (dh Eingaben von Menschen akzeptieren und auf Eingaben von Menschen antworten), ändern, wodurch die Priorität interaktiver und E / A-gebundener Prozesse erhöht und die von reduziert wird CPU-gebundene Prozesse, um die Reaktionsfähigkeit interaktiver Anwendungen zu erhöhen
In Vista verwendet der Scheduler in modernen Prozessoren Zyklenzählerregister und kann die Anzahl der Zyklen schätzen, die ein Thread pro Taktstrich verwendet. Auf diese Weise kann der Scheduler die CPU-Zeit viel fairer aufteilen. Ein Thread kann nach einer Unterbrechung für eine andere Zeitscheibe ausgeführt werden, während der Scheduler vor Vista davon ausging, dass ein unterbrochener Thread für die gesamte Zeitscheibe ausgeführt wurde. (Dies erhöht indirekt die Priorität eines stark unterbrochenen Threads.) Vista verwendet außerdem einen Prioritätszeitplaner für die E / A-Warteschlange, damit die Defragmentierer und andere derartige Programme die Vordergrundoperationen nicht stören.
Quellen: Wikipedia-Planung, Verbesserungen des Vista-Kernels .