一般來說.NET程序運(yùn)行至少會(huì)存在3個(gè)線程:
主線程,負(fù)責(zé)啟動(dòng)CLR并運(yùn)行Main方法。
Finalizer線程,負(fù)責(zé)GC。
調(diào)試器幫助線程,負(fù)責(zé)為調(diào)試器提供幫助。
而CLR還會(huì)視情況啟動(dòng)更多的線程,可能包括:
并發(fā)的GC線程:GC會(huì)根據(jù)情況啟動(dòng)更多的線程并發(fā)進(jìn)行垃圾回收。
AppDomain卸載線程:CLR可能會(huì)啟動(dòng)一個(gè)工作線程來卸載應(yīng)用程序域。
ThreadPool線程:ThreadPool會(huì)根據(jù)情況創(chuàng)建線程。