Hva er Thread Priority?

Hva er Thread Priority?


Tråder er de minste komponentene i en prosess - en utførende programmet - der Windows tildeler plass i minnet. Som en komponent eller barn av en overordnet prosess, er det plass en del av minnet Windows tildeler prosessen, hvilket innebærer at både fremgangsmåten og dens gjenger har samme lageradresse. Fordi de fleste prosesser inneholder mange tråder, mange av dem kjøres samtidig, er prioritering viktig å effektivt administrere minne krav og sikre en smidig programflyten.

Grunnleggende

Tråd prioritet bestemmer en tråd nivå av betydning og når CPU gjør at den kan kjøre. Oppgavebehandling på datamaskinen viser hvor mange prosesser datamaskinen kjører, deres base prioritetsnivå og hvor mange tråder er i hver prosess. Legg de aktuelle kolonnene hvis Task Manager ikke vise denne informasjonen ved å klikke på "View" i hovedmenyen og deretter "Velg kolonner." Hver prosess du ser begynner med en enkelt tråd som, avhengig av antall instruksjoner den inneholder, mest ofte grener i flere tråder. Mens hastigheten ved hvilken en sentral prosessor går gjør det synes som om den behandler instruksjoner fra flere prosesser og flere tråder samtidig, i virkeligheten er en datamaskin med en prosessor kan bare kjøre ett sett av instruksjoner på en gang.

Base Prioritet

Windows-systemet planleggeren starter ved å tildele hver tråd en base prioritet nivået av "Idle", "Under normal", "Normal", "Above normal", "High" eller "real-time". Base prioritetsnivåer stole på prioritetsklasse av den overordnede prosessen og betydningen av tråden i den prosess å plassere hver inn i et generelt nivå av betydning. For eksempel tråder i Windows Oppgavebehandling, oppstart Søknad og skriver kommunikasjonssystem starte med en base prioritering av "High". For det meste, men tråder starter vanligvis med en base prioritet "Normal".

dynamisk Priority

Fordi Windows anser tråder med samme base prioritet som like viktig, må det en måte å finne ut hvilken tråd for å kjøre først. En annen, dynamisk prioritetsnivå som starter ut på samme nivå som basis prioritet, men har evnen til å endre seg, eller "boost", i forbindelse med en tidtaker eller mus-melding, eller tastatur-inngang, oppnår dette målet. Dynamiske prioritetsnivåer kun gjelde for gjenger opp til en "normal" base prioritet, og bare påvirker den generelle kategorien som tråden tilhører.

betraktninger

Selv om slik at Windows scheduler å styre tråden prioriteringer er den enkleste og beste-praksis valget, har du muligheten til å endre basis prioriteten til en prosess tråd manuelt. I Windows Oppgavebehandling, høyreklikke på en prosess og velg "Set Priority" fra drop-down boks. Men med mindre du fullt ut forstår ikke bare begrepet tråden prioriteringer, men også systemminnehåndtering og CPU-bruk, endre prioriteringer fra standardverdiene til en av dine valg kan gi katastrofale resultater. For eksempel endrer en tråd som standard prioritet er "High" til "Low" kan bety tråden vil aldri løpe, instruksjonene vil aldri utføre og programmet vil "henge" på ubestemt tid. Alternativt, endre en base prioritet fra "Normal" til "High" kan føre til en tråd for å bruke for mye CPU-tid, og som et resultat stoppe andre viktige tråder fra å kjøre.