Thread beenden

26/03/2008 - 10:31 von Martin Frank | Report spam
Hallo zusammen,
ich habe hier eine kleine Applikation, die zum Empfangen "externer" Daten
einen synchronen Socket öffnet und mit "mySocket = s.Accept()" wartet, das
sich ein anderer Rechner meldet. Da s.Accept blockierend ist, hab ich es in
einen neuen, eigenen Thread ausgelagert.
Soweit, sogut. Senden und Empfangen usw funktioniert so, wie ich es haben
will.
Nun wird aber der Thread nicht beendet, wenn ich das Programm schließe, da
der Thread ja blockiert ist.
Wie kann ich das lösen?

Danke schonmal
Martin Frank
 

Lesen sie die antworten

#1 Thomas Scheidegger
26/03/2008 - 11:06 | Warnen spam
Hallo Martin

Da s.Accept blockierend ist, hab ich es in
einen neuen, eigenen Thread ausgelagert.
Nun wird aber der Thread nicht beendet, wenn ich das Programm schließe



ein Thread, der gerade unmanaged Code ausführt (intern in Accept)
kann man (mit .NET Code) nicht explizit/sofort beenden.

Bei Programmende wird der Thread jedoch gekillt,
falls du (typ. schon beim starten des Threads)
Thread.IsBackground = True
gewàhlt hast.




Thomas Scheidegger - 'NETMaster'
http://www.cetus-links.org/oo_dotnet.html - http://dnetmaster.net/

Ähnliche fragen