線程池
創(chuàng)建線程和銷毀線程是一個昂貴的操作,要耗費(fèi)大量的時間。由于操作系統(tǒng)必須調(diào)度可運(yùn)行的線程并執(zhí)行上線文切換,所以太多的線程還對性能不利。
為了改善這個情況,clr包含了代碼來管理他自己的線程池。
線程池是你的應(yīng)用程序能使用的線程集合。
線程池內(nèi)部會維護(hù)一個 操作請求隊列。應(yīng)用程序執(zhí)行一個異步請求操作時,將一個記錄項(entry)追加到線程池的隊列中。線程池的代碼從這個對立中
提取記錄項,將這個記錄項派發(fā)(dispatch)給一個線程池線程。
當(dāng)線程池完成任務(wù)后,線程不會被銷毀。相反,線程會回到線程池,在哪里進(jìn)入空閑狀態(tài),等待相應(yīng)另一個請求。由于線程不銷毀自身,所以不在再產(chǎn)生額外的性能損失;