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

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

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

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

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

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

A <---> B

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

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


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