Hallo,
ich stehe mal wieder vor nem kl. Problem und weiss nicht wie ich es lösen soll. Ich habe eine Anwendung die während der Laufzeit mehrere Threads erstellt. Wenn ich jetzt das Programm beende bekomm ich ne Exception, was mir auch klar ist weil da noch einige Threads am arbeiten sind.
Wie kann ich den im Form_Closing() Event schauen ob noch Threads meiner Anwendung laufen damit ich auf diese warten kann, weil ich Sie nicht abbrechen darf!!!
THX schon mal
Gruss Thorsten
Hallo Thorsten,
eigentlich sollte man immer seine Threads zügeln und kontrollieren
können. Im einfachsten Fall bedeutet, dass eine Klasse erstellen
die einen Thread umschliesst die diesen Kontrollieren kann Stop,
Start, Abort , State, .. diese Eigenschaften über public Accesors
zugänglich machen. Dann reicht im normal Fall eine kleine Handler
Klassen die neue Threads erzeugt und die Instanzen in einer
ArrayList oder jedenfalls ner Liste zur Verfügung stellt. Diese
Liste kannst Du dann im Closing Aufruf abarbeiten. Viele Wege
führen nach Rom 😉
Gruss
LarsLovesDotNet
AODL- An OpenDocument LibraryAODL
WWW: www.OpenDocument4all.com
In das Horn würde ich auch stoßen. Beim Multi-Threading sollte man extrem genau arbeiten. Wenn man merkt, dass Thread-Leichen das Beenden des Programmes verhindern, dann mag zwar ein Process.Kill() oder ähnliches weiterhelfen, aber man sollte doch lieber sauber programmieren. Threads die nicht beenden, weisen eher auf Bugs hin oder Design-Schwächen, die einem vermutlich auch anderweitig - sprich während des Laufes - früher oder später auf die Füße fallen.