I allm„nhet, f†r en tr†d med h”gre prioritet mer processortid „n en med l„gre prioritet. F”r att vara mera precis, &os2; tittar p† tr†dprioritet om fler „n en tr†d internt „r markerad som "f„rdig".

Som kontrast, tr†dar vilka f”r n„rvarande „r "blockerade" beh”ver i vilket fall ingen CPU tid, s† f”r dom, betyder prioritet ingenting innan de deblockeras igen. Notera att p† ditt typiska &os2; system, kommer det stora flertalet tr†dar att befinna sig i "blockerad" status vid n†gon som helst tidpunkt.

&os2; „r kapabel att kontrollera tr†dprioriteter p† ett v„ldigt raffinerat s„tt. Det skiljer mellan fyra prioritetsklasser:

  1. "Ledig tid prioritet" (1) „r den l„gsta prioritetsklassen. den betyder att en tr†d endast f†r processortid om inga tr†dar med h”gre prioritetsklasser k”rs. S†dana tr†dar „r hj„lpsamma f”r att avlasta arbete som beh”ver utf”ras, men kan f”rdr”jas tills datorn har tid f”r den. Ett exempel p† en s†dan tr†d „r &xwp;'s egen Arbetstr†d, vilken h†ller koll p† de uppv„ckta Skrivbordsobjekten p† ditt system. Detta „r relativt tidskonsumerande, men icke tidskritiskt, s† det utf”rs med ledig tidsprioritet.

  2. "Regulj„r prioritet" (2) „r en prioritetsklass som de flesta tr†dar anv„nder. Det „r ocks† &os2;'s standard prioritetsklass om en tr†d inte direkt „ndrar dess prioritet. Mellan tr†dar av den klassen, varierar &os2; dynamiskt prioritetsniv†er (mer om detta nedanf”r) f”r att f”rs„kra sig om att ingen tr†d av den h„r klassen "sv„lter", d.v.s. inte f†r n†gon processortid.

  3. "F”rgrunds serverprioritet" (4) „r den n„st-h”gsta prioritetsklassen f”r tr†dar som inte ”nskar bli p†verkade av dynamiska prioritetsvariationer som utf”rs p† "regulj„ra" klasstr†dar. Notera att „ven om den h„r klassen har v„rdet 4, tar tids-kritiska tr†dar prioritet ”ver tr†dar av den h„r klassen. &os2; utf”r fortfarande vissa prioritetsvariationer p† tr†dar av den h„r klassen baserade p† aktiviteten hos tr†den och systemet.

  4. "Tids-kritisk prioritet" (3) „r den h”gsta prioritetsklassen i &os2;. En tr†d med tids-kritisk prioritet kommer att ges processortid omedelbart och kommer inte att avbrytas f”re dess arbete „r utf”rt. M†nga device drivrutiner kommer endast att ”verl„mna CPU'n, till tr†dar av den h„r prioritetsklassen.

    En s†dan tr†d skall endast anv„nda minsta m”jliga CPU tid d„rf”r att den inte kan avbrytas (utom av andra tids-kritiska tr†dar) och kan l„tt h„nga systemet. Žven om den ”verl„mnar CPU'n via DosSleep(0) (se dokumentationen f”r DosSleep i Toolkit dokumentationen*), kommer andra tids-kritiska tr†dar inte att k”ras. Detta anv„nds normalt bara f”r n„tverks- och annan kommunikationsprogramvara, CD br„nnare eller MP3 spelare.

Inom varje prioritetsklass, kan en tr†d s„tta en prioritetsniv†. Detta „r ett v„rde fr†n 0 till +31 vilket best„mmer f”retr„desr„tten hos en tr†d inom en prioritetsklass och kommer endast att ber„knas om tv† tr†dar av samma prioritetsklass konkurrerar.

N†gra exempel: