2011-09-29 190 views
0

我想知道,一旦線程完成處理的東西,是它更好地把線回或放棄線程?在一個線程池管理線程

不會線程池使用隊列內部存儲線程,並給它要處理的請求的線程?

我看着線程的C#實現了一套源代碼,很難理解它。我想知道是否有更容易的實現來了解線程池如何工作和內部細節。

+0

你應該看看@ ThreadPool.QueueUserWorkitem。顧名思義,它是針對線程池執行的任務的隊列 – bryanmac

回答

0

如果你想知道你是否應該把線程放回池中或放棄它,你需要知道你的線程池的使用。例如,創建新線程的成本高於在線程池中管理它的成本,並且會及時使用它,然後將其保留在池中。但如果5天內不使用它,我不會將它保存在游泳池中。

+0

梅。 .NET線程很便宜。 –

+0

是的,我同意@EstebanAraya,當你有GB的RAM和虛擬內存時,爲什麼要嘮叨幾條線程。我的Windows邊欄有69個線程躺着數週,(我近乎空閒的系統上的當前線程1116)。這不是一個問題 - 擔心真正的錯誤! –