2014-01-30 79 views
2

FileStream或DB句柄類型的對象必須正確關閉,因爲它在內部使用Windows句柄。同樣,線程也使用Windows句柄嗎?線程是否有一些內部機制來釋放這些Windows句柄?就垃圾收集而言,線程是否像FileStreams一樣?

+1

文件流和數據庫連接和命令應該*處置*。處置和GC不是一回事。不,線程不需要分解。 –

回答

2

Thread沒有執行IDisposable所以不能像Stream或數據庫相關的對象那樣處理。

當線程代碼完成執行時,運行時會處理相關本機對象的必要清理工作,並且GC通常會處理類似於其他可終結對象的管理對象Thread

請注意,OS和託管線程Getting the thread ID from a thread之間沒有直接一致的關係。

+0

另一方面,如果有任何現有的CLR主機,託管線程和非託管線程之間不存在1:1映射,我總是[好奇](http://stackoverflow.com/q/18436409/1768303)。 – Noseratio

+0

@Noseratio我不知道 - 從來沒有必要去那麼深。 –