Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Každé vlákno má dynamickou prioritu. Toto je priorita, kterou plánovač používá k určení, které vlákno se má provést. Na začátku je dynamická priorita vlákna stejná jako její základní priorita. Systém může zvýšit a snížit dynamickou prioritu, aby se zajistilo, že reaguje a že po dobu procesoru nejsou žádná vlákna hladověná. Systém nezlepšuje prioritu vláken se základní úrovní priority mezi 16 a 31. Dynamické zvýšení priority přijímají pouze vlákna se základní prioritou mezi 0 a 15.
Systém zvyšuje dynamickou prioritu vlákna, aby zlepšil rychlost odezvy následujícím způsobem.
Když se proces, který používá NORMAL_PRIORITY_CLASS, přenese do popředí, plánovač zvýší třídu priority procesu přidruženého k oknem popředí, aby byl větší nebo roven třídě priority všech procesů na pozadí. Třída priority se vrátí do původního nastavení, pokud proces již není v popředí.
Když okno obdrží vstup, například zprávy časovače, zprávy myši nebo vstup klávesnice, plánovač zvýší prioritu vlákna, které je vlastníkem okna.
Pokud jsou splněny podmínky čekání na blokované vlákno, plánovač zvýší prioritu vlákna. Když se například dokončí operace čekání související s vstupně-výstupními operacemi disku nebo klávesnice, vlákno obdrží zvýšení priority.
Funkci zvýšení priority můžete zakázat voláním funkce SetProcessPriorityBoost nebo SetThreadPriorityBoost funkce. Chcete-li zjistit, zda byla tato funkce zakázána, zavolejte GetProcessPriorityBoost nebo GetThreadPriorityBoost funkce.
Po zvýšení dynamické priority vlákna plánovač tuto prioritu sníží o jednu úroveň pokaždé, když vlákno dokončí časový řez, dokud vlákno nepřesadí zpět na základní prioritu. Dynamická priorita vlákna není nikdy menší než její základní priorita.