为了有条件地在所有主要公开方法的开头部署ObjectDisposedException
,是否有任何要跟踪其他线程安全类型的经典bool disposed
字段?IDisposable,ObjectDisposedException和线程安全类型
我见过这种模式在网上几个地方推荐,但我不知道作者是否正确使用它,所以这个问题假设他们是。
在这种情况下,似乎确保条件评估超出条件评估的唯一方法是在每个暴露成员的整个主体上使用同步机制,例如lock(),包括Dispose(布尔)方法。这不会使这个类型再次有效地单线程吗?
如果这是真的,那么使用它就没有意义了,因此在一些IDisposable实现中你不能依赖ObjectDisposedException机制 - 那么为什么我们会使用这种机制,如果它不是'必要吗?
====
我想了IDisposable和的ObjectDisposedException只是不一起去的线程安全的类型。
另请参阅:http://stackoverflow.com/questions/170028/how-would-you-simplfy-entering-and-exiting-a-readerwriterlock – 2010-02-11 21:02:57