Wann endet eine C# Anwendung?

08/05/2008 - 20:23 von Michael Justin | Report spam
Hallo zusammen

"Just for fun" suche ich nach einer Antwort auf die Frage, wann eine C#
Anwendung terminiert, insbesondere bei der Verwendung von Threads:
müssen alle Threads zuerst terminiert sein, damit die Anwendung beendet
wird? Oder ist es einfach möglich, in main mit 'return' das Programm zu
beenden wàhrend noch Threads laufen?

Michael Justin
SCJP, SCJA
betasoft - Software for Delphi™ and for the Java™ platform
http://www.mikejustin.com - http://www.betabeans.de
 

Lesen sie die antworten

#1 Gilles Kohl [MVP]
08/05/2008 - 21:31 | Warnen spam
On Thu, 08 May 2008 20:23:12 +0200, Michael Justin
wrote:

Hallo zusammen

"Just for fun" suche ich nach einer Antwort auf die Frage, wann eine C#
Anwendung terminiert, insbesondere bei der Verwendung von Threads:
müssen alle Threads zuerst terminiert sein, damit die Anwendung beendet
wird?



Alle Threads die nicht die Eigenschaft "IsBackground" haben.

Aus der MSDN, Thread.IsBackground Property:

"A thread is either a background thread or a foreground thread.
Background threads are identical to foreground threads, except that
background threads do not prevent a process from terminating. Once all
foreground threads belonging to a process have terminated, the common
language runtime ends the process. Any remaining background threads
are stopped and do not complete."

Oder ist es einfach möglich, in main mit 'return' das Programm zu
beenden wàhrend noch Threads laufen?



Solange noch sog. foreground threads (IsBackground false) laufen,
wird die Anwendung noch nicht beendet.

Viele Grüße,
Gilles.

Ähnliche fragen