tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
6
ZUGRIFFE
1012
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Many0815 Many0815 ist offline Mitglied Bronze
    Registriert seit
    Oct 2009
    Beiträge
    35
    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
     

  2. #2
    Avatar von Shakie
    Shakie Shakie ist offline Mitglied Diamant
    Registriert seit
    May 2004
    Ort
    Europa
    Beiträge
    2.048
    Was meinst du mit "zu dieser App gestartet"? Startest du selber weitere Prozesse? Dann merke dir doch einfach deren IDs.
     
    hihi = -h²

  3. #3
    MCoder MCoder ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jul 2005
    Ort
    München
    Beiträge
    2.448
    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

  4. #4
    Many0815 Many0815 ist offline Mitglied Bronze
    Registriert seit
    Oct 2009
    Beiträge
    35
    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.

    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.
    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...
    oder so

    cheers Many
     

  5. #5
    MCoder MCoder ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jul 2005
    Ort
    München
    Beiträge
    2.448
    Hallo,

    ein Thread wird ja in der Regel über eine Endlosschleife "am Leben" erhalten:
    Code csharp:
    1
    2
    3
    4
    
    while( 1 )
    {
        // ...
    }
    Baut man in die Schleife irgendwo ein Abbruchbedingung ein, z.B. ein Flag im Schleifenkopf:
    Code csharp:
    1
    
    while( bRun )
    dann könnte man damit den Thread sauber beenden, indem man das Flag zurücksetzt und damit schlicht die Schleife verlässt.

    Gruß
    MCoder
     
    "The three chief virtues of a programmer are: Laziness, Impatience and Hubris."
    --- Larry Wall

  6. #6
    Avatar von Shakie
    Shakie Shakie ist offline Mitglied Diamant
    Registriert seit
    May 2004
    Ort
    Europa
    Beiträge
    2.048
    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²

  7. #7
    Many0815 Many0815 ist offline Mitglied Bronze
    Registriert seit
    Oct 2009
    Beiträge
    35
    Ich habe ein Programm das mehrere Threads startet.

    Danke für die Hilfe. Mit Thread.Abort funktionierts gut.

    Cheers Many
     

Ähnliche Themen

  1. Thread Beenden?
    Von jiim im Forum Java Grundlagen
    Antworten: 6
    Letzter Beitrag: 07.02.09, 16:49
  2. Thread beenden
    Von Raabun im Forum .NET Café
    Antworten: 7
    Letzter Beitrag: 20.01.09, 15:38
  3. Thread beenden
    Von Hillkorn im Forum C/C++
    Antworten: 2
    Letzter Beitrag: 16.01.08, 21:08
  4. Thread beenden
    Von Winner im Forum C/C++
    Antworten: 10
    Letzter Beitrag: 07.12.07, 00:15
  5. Thread beenden
    Von MrPHP im Forum .NET Archiv
    Antworten: 1
    Letzter Beitrag: 12.05.04, 16:13

Stichworte