託管線程或者是後臺線程,或者是前臺線程。後臺線程不會使託管執行環境處於活動狀態,除此之外,後臺線程與前臺線程是一樣的。一旦所有前臺線程在託管進程(其中 .exe
文件是託管程序集)中被停止,系統將停止所有後臺線程並關閉。通過設置 Thread.IsBackground
屬性,可以將一個線程指定爲後臺線程或前臺線程。例如,通過將 Thread.IsBackground 設置爲 true,就可以將線程指定爲後臺線程。同樣,通過將
IsBackground 設置爲 false,就可以將線程指定爲前臺線程。從非託管代碼進入托管執行環境的所有線程都被標記爲後臺線程。通過創建並啓動新的
Thread 對象而生成的所有線程都是前臺線程。如果要創建希望用來偵聽某些活動(如套接字連接)的前臺線程,則應將 Thread.IsBackground 設置爲
true,以便進程可以終止。
一個線程或者是後臺線程或者是前臺線程。後臺線程與前臺線程類似,區別是後臺線程不會阻止進程終止。一旦屬於某一進程的所有前臺線程都終止,公共語言運行庫就會通過對任何仍然處於活動狀態的後臺線程調用
Abort 來結束該進程。