Popředí a vlákna na pozadí

Spravované vlákno je buď vlákno na pozadí, nebo vlákno na popředí. Vlákna na pozadí jsou shodná s vlákny popředí s jednou výjimkou: Vlákno na pozadí neudržuje spravované spouštěcí prostředí spuštěné. Jakmile se všechna vlákna popředí zastaví ve spravovaném procesu (kde je soubor .exe spravovaným sestavením), systém zastaví všechna vlákna na pozadí a vypne se.

Poznámka:

Když modul runtime zastaví vlákno na pozadí, protože proces se vypne, ve vlákně se nevyvolá žádná výjimka. Pokud jsou však vlákna zastavena, protože AppDomain.Unload metoda uvolní doménu aplikace, ThreadAbortException vyvolá se v popředí i podprocesech na pozadí.

Thread.IsBackground Pomocí vlastnosti určete, zda vlákno je pozadí nebo popředí vlákno, nebo změnit jeho stav. Vlákno lze kdykoli změnit na vlákno na pozadí nastavením jeho IsBackground vlastnosti na true.

Důležité

Stav popředí nebo pozadí vlákna nemá vliv na výsledek neošetřené výjimky ve vlákně. Neošetřená výjimka ve vláknech popředí nebo na pozadí vede k ukončení aplikace. Podívejte se na výjimky ve spravovaných vláknech.

Vlákna, která patří do spravovaného fondu vláken (to znamená vlákna, jejichž IsThreadPoolThread vlastnost je true) jsou vlákna na pozadí. Všechna vlákna, která zadávají spravované spouštěcí prostředí z nespravovaného kódu, jsou označena jako vlákna na pozadí. Všechna vlákna generovaná vytvořením a spuštěním nového Thread objektu jsou ve výchozím nastavení vlákna popředí.

Pokud k monitorování aktivity, jako je připojení soketu, použijete vlákno, nastavte jeho IsBackground vlastnost tak true , aby vlákno nezabráněno vašemu procesu ukončit.

Viz také