如果我使用EventWaitHandle
(或AutoResetEvent
,ManualResetEvent
)来在线程之间进行同步,那么当我完成后,需要调用Close()
或Dispose()
方法关闭该事件句柄吗?
EventWaitHandle
继承自 WaitHandle
,后者实现了 IDisposable
。如果我没有在任何包含 EventWaitHandle
的类中实现 IDisposable
,那么 FxCop 会抱怨。因此,这表明我确实需要调用它。
然而,这些MSDN用法示例均未调用Dispose()
或Close()
:
http://msdn.microsoft.com/en-us/library/system.threading.eventwaithandle(VS.80).aspx http://msdn.microsoft.com/en-us/library/system.threading.manualresetevent(VS.80).aspx http://msdn.microsoft.com/en-us/library/system.threading.autoresetevent(VS.80).aspx
这只是微软无视自己建议的一个例子吗?