Veröffentlicht 13. März 200322 j Also ich starte aus einer anwendung heraus einige threads! die thread id kann ich mir auch merken nun möchte ich beim beenden meiner anwendung allen threads sagen, "beende dich" nun ist die frage wie ich das machen kann! ich müsst ja eigentlich jedem einzelnen thread sagen, ende! hat jemand ne ahnung wie das gehen kann! ich arbeite mit VC++ 6.0 und mfc danke für die hilfe :confused:
13. März 200322 j Hi, ich würde vorschlagen die IDs in einem Array zu speichern. Dann, beim beenden deines Programms, überprüfst du in einer Schleife mit GetExitCodeThread() ob der jeweilige Thread noch aktiv ist und wenn ja beendest du ihn mit TerminateThread(). Gruß Guybrush
13. März 200322 j TerminateThread sollte eher eine Notlösung sein, weil es den Thread abwürgt, egal, was der gerade macht. Wir hatten das Thema übrigens hier schonmal diskutiert: http://fachinformatiker-world.de/forums/showthread.php?s=&threadid=36424
13. März 200322 j Ok ich guck mal ob ich das irgendwie hinbekomm! mal schauen und danke für eure antworten
13. März 200322 j hätte trotzdem ncoh ne doofe frage ! wie mach ich das mit dem flag!? wie sag ich ihm, bitte versuch dich mal zu beenden!?
13. März 200322 j na wenn der Thread z.B. eine Endlosschleife enthält kannst du sie z.b. so aufbauen: Thread() { while(bAktiv) { //Verarbeitung } ExitThread(0); return 0; } [/PHP] und wenn du dein Programm beendest setzt du bAktiv vorher einfach auf false.
13. März 200322 j Originally posted by Leana dann muss das ja ne globale variable sein! richtig? Jepp
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.