爲了有條件地在所有主要公開方法的開頭部署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