Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
En hanterad tråd är antingen en bakgrundstråd eller en förgrundstråd. Bakgrundstrådar är identiska med förgrundstrådar med ett undantag: en bakgrundstråd håller inte den hanterade körningsmiljön igång. När alla förgrundstrådar har stoppats i en hanterad process (där filen .exe är en hanterad sammansättning) stoppas alla bakgrundstrådar och stängs av.
Anmärkning
När körningen stoppar en bakgrundstråd eftersom processen stängs av genereras inget undantag i tråden. Men när trådar stoppas eftersom metoden AppDomain.Unload laddar ur programdomänen, kastas en ThreadAbortException i både förgrunds- och bakgrundstrådar.
Använd egenskapen Thread.IsBackground för att avgöra om en tråd är en bakgrund eller en förgrundstråd, eller för att ändra dess status. En tråd kan när som helst ändras till en bakgrundstråd genom att dess egenskap anges IsBackground till true.
Viktigt!
Förgrunds- eller bakgrundsstatusen för en tråd påverkar inte resultatet av ett ohanterat undantag i tråden. Ett ohanterat undantag i antingen förgrundstrådar eller bakgrundstrådar resulterar i att programmet avslutas. Se Undantag i hanterade trådar.
Trådar som tillhör den hanterade trådpoolen (dvs. trådar vars IsThreadPoolThread egenskap är true) är bakgrundstrådar. Alla trådar som kommer in i den hanterade körningsmiljön från icke-hanterad kod markeras som bakgrundstrådar. Alla trådar som genereras genom att skapa och starta ett nytt Thread objekt är som standard förgrundstrådar.
Om du använder en tråd för att övervaka en aktivitet, till exempel en socketanslutning, anger du dess IsBackground egenskap så true att tråden inte hindrar processen från att avslutas.