Có bất kỳ điểm nào trong việc theo dõi trường cổ điển bool disposed
trên một loại an toàn theo chủ đề khác với mục đích ném ObjectDisposedException
vào đầu tất cả các phương pháp tiếp xúc chính không?IDisposable, ObjectDisposedException, và các loại an toàn
Tôi đã nhìn thấy mẫu này được đề xuất ở một vài nơi trực tuyến nhưng tôi không chắc liệu các tác giả có đang sử dụng nó một cách chính xác hay không, vì vậy câu hỏi này giả định rằng chúng là.
Trong trường hợp như vậy, có vẻ như cách duy nhất để đảm bảo rằng điều kiện disposed
là đúng ngoài đánh giá của điều kiện là sử dụng cơ chế đồng bộ hóa như khóa() trên toàn bộ cơ thể của mỗi thành viên được tiếp xúc bao gồm Vứt bỏ (bool). Điều này sẽ không làm cho loại có hiệu quả đơn luồng một lần nữa? Và nếu điều này là đúng, thì sẽ không có điểm trong việc sử dụng nó, và do đó bạn không thể dựa vào cơ chế ObjectDisposedException trong một số triển khai IDisposable - vậy thì tại sao chúng ta sẽ sử dụng cơ chế này nếu nó không phải là ' t cần thiết?
====
Tôi đoán IDisposable và ObjectDisposedException chỉ không đi cùng nhau với nhiều loại thread-safe.
Xem thêm: http://stackoverflow.com/questions/170028/how-would-you-simplfy-entering-and-exiting-a-readerwriterlock –