ERLEDIGT
JA
JA
ANTWORTEN
6
6
ZUGRIFFE
1012
1012
EMPFEHLEN
-
Hallo
Also ich habe folgendes Problem.
Ich hab eine App geschrieben die nen µC programmiert und dann verschiedene Tests durchführt (Hardware und Software tests).
Jedenfalls wenn ich die App während eines Tests schließe, laufen trotzdem alle Tests weiter und der Prozess wird erst gelöscht wenn das komplette Program durchgelaufen ist.
Habe jetzt einen ExitEventhandler eingebaut der auch funktioniert.
Nun ist meine Frage ob ich irgendwie eine Liste bekomme, wo alle Threads aufgelistet sind (thread id oder so) die zu dieser app gestartet wurden, damit ich die dann killen kann...
danke schonmal für eine Antwort
cheers Many
-
Was meinst du mit "zu dieser App gestartet"? Startest du selber weitere Prozesse? Dann merke dir doch einfach deren IDs.
hihi = -h²
-
Laufende Threads sollten eigentlich nicht von außen abgeschossen werden, sondern einen Mechanismus implementiert bekommen, mit dem sie sich (auf Anforderung) selbst beenden können.
Gruß
MCoder"The three chief virtues of a programmer are: Laziness, Impatience and Hubris."
--- Larry Wall
-
Also die Application wird gestartet und dann wird zum Beispiel ein LED test gestartet und dieser Test läuft über einen Thread. Beende ich jetzt das Programm, dann läuft der Thread trotzdem weiter.
Also im Taskmanager sehe ich das Programm noch arbeiten.
Ja genau sowas will ich ja hinbekommen, dass wenn die Anwendung geschlossen wird, dass das vielleicht irgendwie über den eventHandler läuft dass die Threads dann gekillt werden...Laufende Threads sollten eigentlich nicht von außen abgeschossen werden, sondern einen Mechanismus implementiert bekommen, mit dem sie sich (auf Anforderung) selbst beenden können.
oder so
cheers Many
-
Hallo,
ein Thread wird ja in der Regel über eine Endlosschleife "am Leben" erhalten:
Baut man in die Schleife irgendwo ein Abbruchbedingung ein, z.B. ein Flag im Schleifenkopf:Code csharp:1 2 3 4
while( 1 ) { // ... }
dann könnte man damit den Thread sauber beenden, indem man das Flag zurücksetzt und damit schlicht die Schleife verlässt.Code csharp:1
while( bRun )
Gruß
MCoder"The three chief virtues of a programmer are: Laziness, Impatience and Hubris."
--- Larry Wall
-
Zum Verständnis: Du hast genau ein Programm, dass aber mehrere Threads startet, unter anderem den LED-Test-Thread? Oder hast du mehrere Programme, darunter das LED-Test-Programm? Wenn letzteres: hast du Zugriff auf den Quellcode des LED-Test-Programms (hast du es geschrieben)? Wenn ja, dann könntest du MCoders Vorschlag umsetzen.
Wenn ersteres: dann kannst du die Thread.Abort-Methode des Threads aufrufen, den du beenden möchtest.Geändert von Shakie (02.07.11 um 12:35 Uhr)
hihi = -h²
-
Ich habe ein Programm das mehrere Threads startet.
Danke für die Hilfe. Mit Thread.Abort funktionierts gut.
Cheers Many
Ähnliche Themen
-
Thread Beenden?
Von jiim im Forum Java GrundlagenAntworten: 6Letzter Beitrag: 07.02.09, 16:49 -
Thread beenden
Von Raabun im Forum .NET CaféAntworten: 7Letzter Beitrag: 20.01.09, 15:38 -
Thread beenden
Von Hillkorn im Forum C/C++Antworten: 2Letzter Beitrag: 16.01.08, 21:08 -
Thread beenden
Von Winner im Forum C/C++Antworten: 10Letzter Beitrag: 07.12.07, 00:15 -
Thread beenden
Von MrPHP im Forum .NET ArchivAntworten: 1Letzter Beitrag: 12.05.04, 16:13





Zitieren
Login





