【发布时间】:2014-03-15 22:56:58
【问题描述】:
我有一个用 .NET 4.0 编写的 Windows 窗体应用程序。最近,在执行一些测试时,我注意到句柄存在一些问题。下表显示了结果:
如您所见,唯一增加的句柄类型是Event。
所以我的问题是:所描述的问题是否可能是由 Windows 窗体应用程序引起的?我的意思是,我不使用AutoResetEvent 或ManualResetEvent 同步线程。我确实使用线程,但是从上面的表格中可以看出线程句柄的数量似乎还可以。那么,我假设它们被 CLR 很好地管理了?
这可能是由我也在我的应用中使用的任何第三方组件引起的吗?
如果某事不清楚,我会尝试回答您的问题。感谢您的帮助!
【问题讨论】:
-
如果您使用的是 Process Explorer,您可以在下方窗格中看到所有事件句柄的列表(Ctrl+L 是我机器上的快捷键)。它们的名称可能会帮助您识别它们的创建位置。除此之外,您还可以使用windbg 来调查它们的来源。
标签: c# multithreading memory-leaks thread-synchronization handles