Klíčové body:
1. Když je vlákno vytvořeno v hlavním vlákně, IsBackground vlákna je ve výchozím nastavení nastaven na FALS.
2. Když hlavní vlákno skončí, vlákno s IsBackground=FALSE bude pokračovat ve vykonávání, dokud vykonání vlákna neskončí.
3. Pouze vlákna s IsBackground=TRUE ukončí s odchodem hlavního vlákna.
4. Při inicializaci vlákna a nastavení Thread.IsBackground=true to znamená, že vlákno je pozadím. Pozadí vlákna ukončí hlavní vlákno.
5. Princip: Pokud jsou všechna vlákna v popředí ukončena, CLR zavolá Abort() ke každému aktivnímu vláknu na pozadí, čímž aplikaci zcela ukončí.
Připojuje se další: Jak ukončit program: tohle. Close(); Pokud jen zavřete aktuální okno, pokud to není hlavní formulář, nemůžete program opustit, a pokud je zde spravované vlákno (ne hlavní vlákno), nemůžete odejít čistě; application.exit(); Vynuťte všechny zprávy přerušit a ukončit všechny formuláře, ale pokud existuje spravované vlákno (ne hlavní vlákno), nemůže odejít čistě; Application.ExitThread(); násilně přerušit všechny zprávy na volajícím vlákně a také čelit problému, že ostatní vlákna nemohou správně ukončit vstup; System.Environment.Exit(0); To je nejúplnější způsob, jak ukončit program, bez ohledu na to, které vlákno je nucené ukončit, a program ukončit velmi čistě. |