Laden...

Thread.Abort beendet den Thread unter Windows-7 nicht (aber unter XP)

Erstellt von Walter Sägesser vor 12 Jahren Letzter Beitrag vor 12 Jahren 1.646 Views
W
Walter Sägesser Themenstarter:in
15 Beiträge seit 2007
vor 12 Jahren
Thread.Abort beendet den Thread unter Windows-7 nicht (aber unter XP)

Ich habe eine Applikation mit einem eigenen Thread für einen TCP-Listener. Wenn die Applikation geschlossen wird, rufe ich "Thread.Abort" auf, um vorerst den Thread zu beenden.
Unter Win-XP funktioniert das seit langer Zeit einwandfrei und unter allen Umständen. Läuft die Applikation jedoch unter Win-7, wird der Thread nicht beendet, d.h. im Taskmanager wird der Prozess nicht entfernt. Systematisch und nicht nur gelegentlich.
Ich habe nirgends einen Hinweis gefunden, dass Thread.Abort unter Win-7 nicht funktionieren würde. Wie müsste man denn das Win-7 konform machen? Danke für alle Hilfe.

Walter

3.430 Beiträge seit 2007
vor 12 Jahren

Hallo,

anstatt den Thread knallhart mit Abort zu beenden ist besser wenn du es über ein Token machst. Diese Variable (meist Bool) wird auf einen bestimmten Wert gesetzt. Im anderen Thread musst du dann regelmäßig abfragen ob die Variable gesetzt ist und falls nötig die Arbeit beenden.

Unter .NET 4 gibt es dafür das Cancellation

Gruß
Michael

6.911 Beiträge seit 2009
vor 12 Jahren

Hallo Walter Sägesser,

Das Thema wurde schon einige Male besprochen. Bitte benutze die Forumssuche und poste die besten Treffer hier. Vielen Dank!

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"