Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как поведёт себя сборщик мусора, если есть изолированный цикл ссылок объектов? / 7 сообщений из 7, страница 1 из 1
15.02.2014, 14:55
    #38561825
user7320
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как поведёт себя сборщик мусора, если есть изолированный цикл ссылок объектов?
Как поведёт себя сборщик мусора, если есть объекты с циклическими ссылками (т. е. ссылающиеся друг на друга), но сами на сам этот цикл объектов больше никто не ссылается? Удалит весь цикл или оставит весь?

Если оставит, то как сделать так, чтобы удалил?
...
Рейтинг: 0 / 0
15.02.2014, 14:57
    #38561826
user7320
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как поведёт себя сборщик мусора, если есть изолированный цикл ссылок объектов?
Следует читать

авторКак поведёт себя сборщик мусора, если есть объекты с циклическими ссылками (т. е. ссылающиеся друг на друга), но сами на сам этот цикл объектов больше никто не ссылается?
...
Рейтинг: 0 / 0
15.02.2014, 15:00
    #38561827
user7320
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как поведёт себя сборщик мусора, если есть изолированный цикл ссылок объектов?
user7320но на сам этот цикл объектов больше никто не ссылается?
Т. е. из другой части объектов моего приложения (из основной кучи) больше нет ссылок на любой объект из цикла ссылок.

Есть какие-то "главные" объекты, по которым сборщик судит, на что они ссылаются? Т. е. если эти главные объекты не ссылаются на какие-то группы объектов, пусть даже эти группы сами друг на друга ссылаются, то эти группы можно удалить.

Или сборщик не удаляет даже ЛЮБЫЕ ДВА ЦИКЛИЧЕСКИ СВЯЗАННЫХ объекта?
...
Рейтинг: 0 / 0
15.02.2014, 16:09
    #38561857
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как поведёт себя сборщик мусора, если есть изолированный цикл ссылок объектов?
Не удаляет.
...
Рейтинг: 0 / 0
15.02.2014, 16:22
    #38561866
bazile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как поведёт себя сборщик мусора, если есть изолированный цикл ссылок объектов?
user7320, сборщик мусора сначала определяет какие объекты достижимы (используются), а какие нет. Поиск начинается с т.н. корней - статические и локальные переменные, аргументы функции и регистры процессора. Следовательно объекты из твоего примера будут удалены как и любые другие объекты без циклических ссылок.
...
Рейтинг: 0 / 0
15.02.2014, 16:38
    #38561878
user7320
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как поведёт себя сборщик мусора, если есть изолированный цикл ссылок объектов?
bazileuser7320, сборщик мусора сначала определяет какие объекты достижимы (используются), а какие нет. Поиск начинается с т.н. корней - статические и локальные переменные, аргументы функции и регистры процессора. Следовательно объекты из твоего примера будут удалены как и любые другие объекты без циклических ссылок.
Т. е. "изолированные циклы" тоже удаляются?

Было бы слишком глупо оставлять в памяти объекты вида

A <---> B

которые больше ни с какими другими объектами не связаны. Я бы хотел более умного сборщика мусора, чтобы он анализировал более глубокие уровни связей, чем один (уровень).
...
Рейтинг: 0 / 0
15.02.2014, 16:41
    #38561881
bazile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как поведёт себя сборщик мусора, если есть изолированный цикл ссылок объектов?
user7320Т. е. "изолированные циклы" тоже удаляются?
Да.

P.S. Читай CLR via C# Рихтера. Там целая глава посвящена GC.
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как поведёт себя сборщик мусора, если есть изолированный цикл ссылок объектов? / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]