Überwachungsobjekte über Threads ausführen, Teil 2 16.03.2017, 00:00 Uhr

Threads bündeln

Neue Threads zum Überwachen von Arbeitsspeicher und CPU-Auslastung.
User-Threads werden genutzt, um ­unterschiedliche Aufgaben parallel und unabhängig voneinander auszuführen. Obgleich sie sich effektiv nutzen lassen, greifen Entwickler nur selten auf ­Threads zurück. Dies hat mehrere Gründe: So verläuft die Codierung nicht li­near und die einzelnen Threads laufen parallel nebeneinander. Die Threads muss der Entwickler explizit starten und auch wieder beenden. Einmal gestartet, verrichten Threads ihre Dienste im Hintergrund und präsentieren sich als leichtgewichtige Prozesse. Das Debuggen gestaltet sich allerdings schwieriger, da die Programmverfolgung im Debug-Modus bei mehreren parallelen Threads sprunghaft wird. Um die Schwierigkeiten auszuräumen, sollten Sie Threads immer einzeln nach Fehlern durchsuchen. Im Beispielprogramm ThreadAlerts sorgen Sie beispielsweise dafür, dass immer nur ein einzelnes Thread-basiertes Überwachungsobjekt im Testlauf instanziert und anschließend schrittweise überprüft wird.
Prozessanalyse-Tools legen zur Laufzeit nicht nur Prozesseigenschaften,

sondern auch Module und Threads ­offen (Bild 1)

Diesen Artikel lesen Sie exklusiv als dotnetproplus Abonnent

Testen Sie die dotnetpro zwei Monate gratis
Über 5000 Fachartikel von Entwicklern für Entwickler
Im Web, auf iOS, Android und als PDF verfügbar