Handles vs. Threads vs. Prozesse

16488
JohnNg

Gibt es einen Unterschied zwischen einem Thread und einem Prozess?

Ich versuche, die Berechnungen der auf der Registerkarte Leistung aufgeführten Systemdaten zu verstehen.

Handles: 48097 Threads: 1602 Prozesse: 99 Up Time: 17: 23: 02: 02 Commit (GB): 3/15

5
Ja. Was haben Sie von Ihrer Forschung erfahren? Haben Sie nach "Was ist der Unterschied zwischen einem Thread und einem Prozess" gesucht? DavidPostill vor 8 Jahren 0
[so] duplicate [Was ist der Unterschied zwischen einem Prozess und einem Thread] (http://stackoverflow.com/q/200469) DavidPostill vor 8 Jahren 0
Meine Forschung ist Teil des Fragens. Hoffe das ist nicht zu verwirrend JohnNg vor 8 Jahren 0
Das ist sehr verwirrend. Bitte lesen Sie [Wie stelle ich eine gute Frage?] (Http://superuser.com/help/how-to-ask). Dort steht: "Haben Sie gründlich nach einer Antwort gesucht, bevor Sie Ihre Frage stellen? ** Die Weitergabe Ihrer Forschungsergebnisse hilft Alle. Sagen Sie uns, was Sie gefunden haben und warum es nicht Ihren Bedürfnissen entsprach. ** Dies zeigt, dass Sie sich die Zeit genommen haben, um sich selbst zu helfen, es erspart uns, offensichtliche Antworten zu wiederholen, und vor allem hilft es Ihnen, zu erhalten eine spezifischere und relevantere Antwort! " DavidPostill vor 8 Jahren 1

1 Antwort auf die Frage

13
Frank Thomas

Da die Antwort von StackOverflow so abstrakt und OS agnostisch ist, dass sie für die ops-spezifische Frage unbrauchbar ist, poste ich eine Windows-spezifische Antwort.

Ein Prozess ist eine isolierte Speicherstruktur, die eine Anwendung in Betriebssystemhardware und -software unterstützt. Ein Windows-Prozess enthält einen oder mehrere Threads. https://en.wikipedia.org/wiki/Process_%28computing%29

Ein Thread ist ein Strom von sequentiellen Maschinencodeanweisungen, die der Prozessor ausführt. Mit Ausnahme von Interrupts: Jedes Mal, wenn die CPU eine Anweisung für eine Anwendung ausführt, geschieht dies, weil ein Thread sie enthält. Threads innerhalb eines Prozesses können auf den Prozessspeicher zugreifen (sofern der bestimmte Vorgang für das Speicherelement "threadsicher" ist und keine unabgeglichenen Parallelitätsprobleme verursacht, wenn mehr als ein Thread gleichzeitig ausgeführt wird). Eine Anwendung kann ihren Betrieb durch Verwendung mehrerer Threads beschleunigen, wobei jeder eine isolierte Task ausführt, indem er seinen Befehlsstrom durch eine andere CPU- Ausführungseinheit (CPU / Kern / virtueller Kern) gleichzeitig ausführt . https://en.wikipedia.org/wiki/Thread_%28computing%29

Ein Handle ist eine logische Verknüpfung mit einer gemeinsam genutzten Ressource, z. B. einer Datei, einem Fenster, einem Speicherort usw. Wenn ein Thread eine Datei öffnet, wird ein "Handle" für die Datei festgelegt, und intern verhält es sich wie ein "Name" für diese Instanz der Datei. Handles werden verwendet, um auf vorübergehende oder Umgebungsressourcen außerhalb der Prozessspeicherstruktur zuzugreifen. Ein Handle-Leck ist eine Art Softwareproblem, das im Extremfall ein System destabilisieren kann. Es wird durch ein Programm verursacht, das ein Handle für eine Ressource anfordert und es nicht freigibt, wenn das Programm mit der Ressource fertig ist. Anhand Ihrer Nummer sehe ich da aber nichts falsch. https://en.wikipedia.org/wiki/Handle_%28computing%29

Danke Frank, das war sehr einfach und hilfreich. Ich versuche die Aufschlüsselung der Berechnungen zu verstehen, so dass dies mich in die richtige Richtung lenken wird. JohnNg vor 8 Jahren 0