Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.09.2015, 16:16   #11
Luuzuk
Форумчанин
 
Аватар для Luuzuk
 
Регистрация: 18.01.2012
Сообщений: 975
По умолчанию

Цитата:
так дело в том что при delete p; есть вызов деструктора.
из деструктора я могу же вызвать финализатор.
Можете. А объект все равно останется в куче, ибо ручками его оттуда удалить нельзя. Это прерогатива сборщика мусора
Благодарить в репутацию. Проклинать — туда же
Luuzuk вне форума Ответить с цитированием
Старый 28.09.2015, 16:16   #12
RAFA91
Заблокирован
 
Регистрация: 06.02.2011
Сообщений: 1,999
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
А почему не довериться уборщику мусора? Разве он деструктор не вызовет?

скорее он вызовет финализатор.

а если я сам вызову финализатор почему память не освободится ?

сборщик мусора вызывается когда иму выгодно , а не когда я этого хочу.

Последний раз редактировалось RAFA91; 28.09.2015 в 16:20.
RAFA91 вне форума Ответить с цитированием
Старый 28.09.2015, 16:19   #13
Luuzuk
Форумчанин
 
Аватар для Luuzuk
 
Регистрация: 18.01.2012
Сообщений: 975
По умолчанию

Цитата:
а если я сам вызову финализатор почему память не освободится ?
Потомучто почитайте про управление памятью в .NET, это избавит вас от 98,73% вопросов )

p.s. я вам даже ссылочку нагуглил https://rsdn.ru/article/dotnet/GCnet.xml
Благодарить в репутацию. Проклинать — туда же
Luuzuk вне форума Ответить с цитированием
Старый 28.09.2015, 16:40   #14
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Цитата:
Сообщение от RAFA91 Посмотреть сообщение
сборщик мусора вызывается когда иму выгодно , а не когда я этого хочу.
Ну можете занулить ссылки и вызвать GC.Collect
p51x вне форума Ответить с цитированием
Старый 28.09.2015, 16:46   #15
Luuzuk
Форумчанин
 
Аватар для Luuzuk
 
Регистрация: 18.01.2012
Сообщений: 975
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Ну можете занулить ссылки и вызвать GC.Collect
...что совершенно не гарантирует удаления объекта из кучи
Благодарить в репутацию. Проклинать — туда же
Luuzuk вне форума Ответить с цитированием
Старый 28.09.2015, 17:09   #16
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Если нужны 100 % гарантии, то проще выключить комп
p51x вне форума Ответить с цитированием
Старый 28.09.2015, 17:12   #17
Luuzuk
Форумчанин
 
Аватар для Luuzuk
 
Регистрация: 18.01.2012
Сообщений: 975
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Если нужны 100 % гарантии, то проще выключить комп
Я просто оставлю это здесь: http://www.overclockers.ua/news/hard...-05-27/115898/
Благодарить в репутацию. Проклинать — туда же
Luuzuk вне форума Ответить с цитированием
Старый 28.09.2015, 17:20   #18
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
сборщик мусора вызывается когда иму выгодно , а не когда я этого хочу.
ну да, на то он и сборщик.
если хотите ручное управление памятью, то вернитесь на раздел выше.(С++ чистый если что)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 28.09.2015, 17:38   #19
RAFA91
Заблокирован
 
Регистрация: 06.02.2011
Сообщений: 1,999
По умолчанию

тогда зачем этот финализатор мне нужен если мусорщик его вызовет в любой момент?
RAFA91 вне форума Ответить с цитированием
Старый 28.09.2015, 18:27   #20
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Ну дык и не используйте его, сказали ж уже, что есть IDisposable.

Я вообще не очень представляю для чего может быть использован финализатор, кроме связки с IDisposable (стандартный паттерн, вызов Dispose в финализаторе на случай если никто не вызвал его нормально).
https://msdn.microsoft.com/en-us/lib...or=-2147217396
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание управляемой web анимации GODEXPERT Фриланс 4 30.03.2015 10:32
Создание управляемой web анимации GODEXPERT Фриланс 5 12.01.2015 09:19
Сортировка КУЧИ!!! bignick Общие вопросы по Java, Java SE, Kotlin 6 11.04.2011 23:08
Повреждение кучи fosder Помощь студентам 0 08.12.2010 01:36