2014-01-30 51 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我不知道 - 从来没有必要去那么深。 –