Was heißen diese Threads und Handles im Task Manager?

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Ein Thread ist ein Strom von sequentiellen Maschinencode-Anweisungen, die der Prozessor ausführt. Mit Ausnahme von Interrupts geschieht dies immer dann, wenn die CPU eine Anweisung für eine Anwendung ausführt, weil sie in einem Thread enthalten ist. Threads innerhalb eines Prozesses greifen möglicherweise auf den Prozessspeicher zu (sofern der spezifische Vorgang für das Speicherelement "thread-sicher" ist und keine nicht abgeglichenen Parallelitätsprobleme aufweist, wenn mehr als ein Thread gleichzeitig ausgeführt wird). Eine Anwendung kann ihren Betrieb beschleunigen, indem mehrere Threads verwendet werden, von denen jeder eine isolierte Aufgabe ausführt, indem ihr Befehlsstrom gleichzeitig über eine andere CPU-Ausführungseinheit (CPU / Kern / virtueller Kern) ausgeführt wird. https://en.wikipedia.org/wiki/Thread_%28computing%29

Ein Handle ist eine logische Verknüpfung mit einer gemeinsam genutzten Ressource wie einer Datei, einem Fenster, einem Speicherort usw. Wenn ein Thread eine Datei öffnet, erstellt er ein "Handle" für die Datei und verhält sich intern wie ein "Name" für diese Instanz der Datei. Handles werden zum Verknüpfen mit vorübergehenden oder Umgebungsressourcen außerhalb der Prozessspeicherstruktur verwendet. Ein Handle-Leak ist eine Art von Software-Problem, das im Extremfall ein System destabilisieren kann. Dies wird dadurch verursacht, dass ein Programm ein Handle für eine Ressource anfordert und die Zuordnung nicht aufhebt, wenn das Programm mit der Ressource fertig ist. https://en.wikipedia.org/wiki/Handle_%28computing%29

LG

Woher ich das weiß:Studium / Ausbildung

2 Threads können aktiv sein. Als gerade bearbeitet werden. Die anderen 3 tausend irgendwas werden drauf warten an die Reihe zu kommen.

Die Händler sind quasi Referenzen zu Windows Elementen etc. Welche die verschiedenen Programme benutzen.

Wenn ich quasi ein Fenster in Windows aufmache in meiner Software habe ich ein handle zu diesem Fenster.


asdundab  08.02.2020, 09:14

Also hier 2 Threads pro Kern, also insg. 8 gleichzeitig.

1

Ein Programm kann an mehreren Stellen quasi gleichzeitig ausgeführt werden. Eine Stelle prüft, ob eine Datei in einem Verzeichnis zugefügt wurde, die nächste wartet auf Daten via Netzwerk und die dritte auf Eingaben via Tastatur.

Somit können Threads verschiedene Status haben wie ausführbar oder wartend haben.

Das Betriebssystem verwaltet alle Threads aller Programme, in dem es mal den einen und dann den nächsten etc. für kurze Zeit in einem Kern der CPU ausführt. Wartende Threads melden dem Betriebssystem sofort, dass es die CPU an einen anderen Thread weiter geben darf.

HANDLES sind Identifier / Referenzen für Ressourcen im Betriebssystem Windows. Hier gibt es sehr viele verschiedene Arten. Genaueres mag ich nicht schreiben, weil ich dann unsicher werde.