在一个旨在实现线程安全的类型中,是否有必要跟踪经典的
在这种情况下,似乎确保
如果是这样的话,那么使用它就没有意义了,因此在某些IDisposable实现中就不能依赖ObjectDisposedException机制。那么,如果这个机制不是必要的,我们为什么要使用它呢?
总之,在线程安全的类型中,IDisposable和ObjectDisposedException可能并不适用。
bool disposed
字段,以便在所有主要暴露的方法之前有条件地引发ObjectDisposedException
?我看到一些在线文档推荐这种模式,但我不确定作者是否使用正确,所以这个问题假设他们是正确的。在这种情况下,似乎确保
disposed
状态为真的唯一方法是使用同步机制,如lock()覆盖每个公开成员的整个方法体,包括Dispose(bool)方法。那么这不会让类型再次有效地变成单线程吗?如果是这样的话,那么使用它就没有意义了,因此在某些IDisposable实现中就不能依赖ObjectDisposedException机制。那么,如果这个机制不是必要的,我们为什么要使用它呢?
总之,在线程安全的类型中,IDisposable和ObjectDisposedException可能并不适用。