Multithreading

14/02/2008 - 11:21 von Marco Hemmerle | Report spam
Hallo

Ich habe eine Multithreading Software geschrieben, die in einem
Separaten Thread eine Funktion in einer DLL aufruft und diese im
Hintergrund ausführt. Dies funktioniert auch perfekt. Ein Problem tritt
allerings auf, wenn der User das Programm einfach schliesst, dann wird
der Thread nàmlich nicht beendet. Ich habe versucht den Thread mit
thread.abort() zu beenden. Das Problem hierbei ist allerdings, dass mit
dem Beenden abgwartet wird, bis die DLL ihre Arbeit erledigt hat und das
dauert im normalfall einige Minuten. Gibt es eine Möglichkeit den Thread
sofort abbzubrechen, wenn der User das Programm beendet?

mit freundlichen Grüssen

Marco
 

Lesen sie die antworten

#1 Herfried K. Wagner [MVP]
14/02/2008 - 12:47 | Warnen spam
"Marco Hemmerle" schrieb:
Ich habe eine Multithreading Software geschrieben, die in einem Separaten
Thread eine Funktion in einer DLL aufruft und diese im Hintergrund
ausführt. Dies funktioniert auch perfekt. Ein Problem tritt allerings auf,
wenn der User das Programm einfach schliesst, dann wird der Thread nàmlich
nicht beendet. Ich habe versucht den Thread mit thread.abort() zu beenden.
Das Problem hierbei ist allerdings, dass mit dem Beenden abgwartet wird,
bis die DLL ihre Arbeit erledigt hat und das dauert im normalfall einige
Minuten.



Versuche, die Eigenschaft 'IsBackground' des Threads auf 'True' zu setzen.
Was wird denn im Thread gemacht?

M S Herfried K. Wagner
M V P <URL:http://dotnet.mvps.org/>
V B <URL:http://dotnet.mvps.org/dotnet/faqs/>

Ähnliche fragen