Re[2]: Вопрос про GC и ресурсы
От: Аноним  
Дата: 22.02.06 11:27
Оценка:
A>пусть клиенты вызывают Dispose на здоровье, а ты поставь собственный счетчик ссылок на ресурс и прибивай ресурс в вызове последнего Dispos`а.
Тогда нужно абязать клиентов вызывать некий AddRef, парный Dispose(). Ведь клиенты могут передавть ссылку на ресурс друг гругу. Вообще-то это криво: возвращяться к глючному ручному подсчёту ссылок в стиле "COM без смарт-указателей".

A>PS

A>и не путай Dispose с деструктором.
С чего ты взял что я не путаю. Если следовать общепринятой семантике Dispose, то этот метод должен перевести объект в некое предсмертное состояние, в котором при любом вызов приводит к ObjectDisposedException. Это вряд ли понравится остальным клиентам.

A>PS PS

A>а между удалением последней ссылки на объект и его автоматической сборкой может пройти уйма времени.
Я об этом и писал: "GC может вообще никогда не добраться до объекта Resource".
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.