Was ist der Unterschied zwischen einem Hintergrund- und einem Vordergrund-Thread?Was ist in CLR der Unterschied zwischen einem Hintergrund- und einem Vordergrund-Thread?
Antwort
Von MSDN:
Hintergrund-Threads sind identisch mit Vordergrund Fäden mit einer Ausnahme: ein Hintergrund-Thread nicht die nicht halten Ausführungsumgebung verwaltet läuft.
Siehe this page:
Vordergrund Fäden haben die Fähigkeit von Beenden der aktuellen Anwendung zu verhindern. Die CLR wird eine Anwendung nicht herunterfahren (d. H. Die Host-AppDomain entladen), bis alle Vordergrund-Threads beendet sind.
Hintergrundthreads (manchmal als Daemon-Threads bezeichnet) werden von der CLR als ausgabefähige Ausführungspfade angesehen, die zu jedem Zeitpunkt ignoriert werden können (auch wenn sie gerade einige Arbeitseinheiten bearbeiten). Wenn alle Vordergrund-Threads beendet sind, werden alle Hintergrundthreads automatisch beendet, wenn die Anwendungsdomäne entladen wird.
wenn Leute Hintergrund Thread verwenden sollten ..... ein gutes Beispiel geben. – Mou
sind standardmäßig Themen Vordergrund Threads, das heißt, sie halten die Anwendung am Leben, so lange wie einer von ihnen ausgeführt wird. C# unterstützt auch Hintergrund-Threads, die die -Anwendung nicht selbständig am Leben erhalten - sie endet sofort, sobald alle Vordergrund-Threads beendet sind.
Wenn einer der Vordergrund- oder Hintergrundthreads beendet wird, wird die Anwendung sofort beendet. Es ist möglich, den Thread während der Anwendungslebensdauer jederzeit von Vordergrund zu Hintergrund und umgekehrt zu ändern. CLR erstellt zwei Arten von Threads, um AppDomain besser zu unterstützen. Wenn der Vordergrund-Thread beendet wird, beendet CLR zwangsweise alle Hintergrundthreads, die ausgeführt werden. Alle Threads, die mit systemeigenem Code erstellt wurden und in die Umgebung für die verwaltete Ausführung gelangen, sind als Hintergrundthreads gekennzeichnet.
- 1. Was ist der Unterschied zwischen einem Hintergrund- und Vordergrunddienst?
- 2. Was ist der Unterschied zwischen CLR und DLR in C#?
- 3. Was ist der Unterschied zwischen einem Streamwriter und einem Binarywriter?
- 4. Was ist der Unterschied zwischen einem ViewModel und einem Controller?
- 5. Was ist der Unterschied zwischen einem Integrator und einem Tiefpassfilter?
- 6. Was ist der Unterschied zwischen einem Muster und einem Pfad?
- 7. Was ist der Unterschied zwischen einem Instanzinitialisierer und einem Konstruktor?
- 8. Was ist der Unterschied zwischen einem Index und einem Fremdschlüssel?
- 9. Was ist der Unterschied zwischen einem Controller und einem Service?
- 10. Was ist der Unterschied zwischen einem Key und einem KeySpec?
- 11. Was ist der Unterschied zwischen einem Algorithmus und einem Entwurfsmuster
- 12. Was ist der Unterschied zwischen einem RoutedCommand und einem RoutedUICommand?
- 13. Was ist der Unterschied zwischen einem Primärschlüssel und einem Ersatzschlüssel?
- 14. Was ist der Unterschied zwischen einem Anwendungscontroller und einem Anwendungskontext?
- 15. Was ist der Unterschied zwischen einem Domänenklassendiagramm und einem Designklassendiagramm?
- 16. Was ist der Unterschied zwischen einem Tupel und einem compressed_pair?
- 17. Was ist der Unterschied zwischen einem Klassendiagramm und einem Objektdiagramm?
- 18. Was ist der Unterschied zwischen einem Iterator und einem Generator?
- 19. Was ist der Unterschied zwischen einem Array und einem Objekt?
- 20. Was ist der Unterschied zwischen einem Tabellenindex und einem Ansichtsindex?
- 21. Was ist der Unterschied zwischen einem Nanokern und einem Exokernel?
- 22. Was ist der Unterschied zwischen einem Helfer und einem Teil?
- 23. Was ist der Unterschied zwischen einem Workflow und einem Flowchart?
- 24. Was ist der Unterschied zwischen einem Ausdruck und einer Aussage?
- 25. Was ist der Unterschied zwischen einem Schemanamespace und einem Assemblyverweis in WPF?
- 26. Was ist der Unterschied zwischen einem Bündel und einer Absicht?
- 27. Was ist der Unterschied zwischen Ember.computed.alias und einem Ember.binding?
- 28. Was ist der Unterschied zwischen einem Benutzer und einer Rolle?
- 29. Was ist der Unterschied zwischen einem QWindow und QWidget
- 30. Was ist der Unterschied zwischen einer Schließung und einem Modul?
Erläuterung: C# hat kein Konzept von Hintergrund und Vordergrund Threads. Die Unterscheidungen, die bestimmte Szenarien zu einem Thread machen, werden auf einer CLR/COM-Ebene durchgeführt. – JaredPar
C# hat auch nicht das Konzept einer Giraffe, aber Sie können eine Klasse mit einer Eigenschaft namens Giraffe machen. IsBackground ist eine Eigenschaft eines Objekts im Framework. Denken Sie daran, dass C# _die Sprache_ nicht das .NET-Framework ist. Es ist nur eine Programmiersprache. –