Themen sind die kleinsten Komponenten in einem Prozess - eine ausführende Programm - für die Windows weist Speicherplatz ? . Als eine Komponente oder ein Kind von einem übergeordneten Prozess , ist dieser Raum ein Teil des Speichers Windows weist den Prozess , was bedeutet, dass sowohl der Prozess und seine Threads den gleichen Speicher -Adresse teilen bedeutet . Da die meisten Prozesse zahlreichen Themen enthalten , führen viele davon gleichzeitig , Priorisierung ist unerlässlich, um effektiv zu managen Speicher Anforderungen und sorgen für einen reibungslosen Programmablauf . Basics
Thread-Priorität bestimmt eines Threads Ebene von Bedeutung und wenn die CPU erlaubt es zu laufen . Ihres Computers Task Manager zeigt , wie viele Prozesse Ihres Computers läuft derzeit , ihre Basisprioritätsebene und wie viele Threads in jedem Prozess . Fügen Sie die entsprechenden Spalten , wenn Ihre Task-Manager nicht angezeigt wird diese Informationen , indem Sie auf "View" im Hauptmenü und dann " Spalten auswählen. " Jeder Prozess, den Sie sehen, beginnt mit einem einzigen Thread , dass in Abhängigkeit von der Anzahl der darin enthaltenen , die meisten oft verzweigt sich in mehrere Threads . Während die Geschwindigkeit, mit der ein zentraler Prozessor läuft macht es den Anschein , als ob sie die Anweisungen von mehreren Prozessen und mehreren Threads verarbeitet gleichzeitig , in Wirklichkeit einen Computer mit einer CPU kann jeweils nur eine Reihe von Anweisungen zu einem Zeitpunkt.
Basis Priority
Die Windows- System-Scheduler startet , indem jedem Thread eine Basisprioritätsebene von "Idle ", " Unten normal", "Normal" "Above Normal", " Hoch" oder " Echtzeit . " Base Prioritätsstufen vertrauen auf die Prioritätsklasse des übergeordneten Prozess und die Bedeutung des Themas innerhalb des Prozesses zu jedem in einer allgemeinen Ebene von Bedeutung platzieren . Zum Beispiel , Themen in der Windows- Task-Manager , Start-Up -Anwendung und Printer Communication System Start mit einer Basis Priorität " Hoch". Für den größten Teil jedoch Fäden der Regel mit einer Basis Priorität starten " normal . "
Dynamische Priority
da Windows hält Threads mit der gleichen Basis Priorität als ebenso wichtig , braucht es einen Weg, um festzustellen , welcher Thread zum ersten laufen . Eine zweite , dynamische Priorität , die zunächst auf der gleichen Ebene wie die Basis Priorität, aber die Fähigkeit hat, zu ändern oder zu " steigern ", in Verbindung mit einem Zeitgeber oder Maus-Nachricht oder Tastatureingabe, löst diese Aufgabe . Dynamische Prioritätsstufen nur Themen gelten bis zu einem "Normal" Basis Priorität , und nur auf die allgemeine Kategorie, zu der der Thread gehört.
Überlegungen
Obwohl ermöglicht das Windows- Scheduler Thread-Prioritäten zu verwalten, ist die einfachste und best-Practice- Wahl , haben Sie die Möglichkeit , die Basis Priorität eines jeden Prozesses Faden manuell ändern. In Windows Task Manager mit der rechten Maustaste auf einen Prozess und wählen Sie " Priorität festlegen " aus dem Drop -Down-Feld . Allerdings, wenn Sie voll und ganz verstehen nicht nur das Konzept der Thread-Prioritäten , sondern auch System-Speicher -Management und CPU-Auslastung , wechselnden Prioritäten von ihren Standardwerten zu einem Ihrer Wahl produzieren können katastrophale Ergebnisse . Zum Beispiel verändert ein Gewinde , dessen Standard-Priorität ist "High" auf "Low" kann bedeuten, das Gewinde wird niemals rennen , werden die Anweisungen nie ausgeführt und Ihr Programm wird "hängen" auf unbestimmte Zeit. Alternativ kann die Änderung eine Basis Priorität von "Normal" auf "Hoch" bewirken, dass ein Thread zu viel CPU-Zeit , und als Folge zu stoppen andere wichtige Themen aus läuft.