Сборщик мусора и объекты указывающие друг на друга
От: Аноним  
Дата: 26.09.09 20:14
Оценка: :)
Есть классы А и Б, в классе А есть свойство типа Б, а в классе Б — типа А. Создаются эти самые объекты и..
что будет делать сборщик мусора в таком случае? Когда будут удалены (и будут ли) эти объекты?
Re: Сборщик мусора и объекты указывающие друг на друга
От: anton_t Россия  
Дата: 26.09.09 20:25
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А>Есть классы А и Б, в классе А есть свойство типа Б, а в классе Б — типа А. Создаются эти самые объекты и..

А>что будет делать сборщик мусора в таком случае? Когда будут удалены (и будут ли) эти объекты?

После того, как станут недоступны из корней GC.
... << RSDN@Home 1.2.0 alpha 4 rev. 1238>>
Re: Сборщик мусора и объекты указывающие друг на друга
От: Lloyd Россия  
Дата: 26.09.09 20:25
Оценка: +2
Здравствуйте, Аноним, Вы писали:

А>Есть классы А и Б, в классе А есть свойство типа Б, а в классе Б — типа А. Создаются эти самые объекты и..

А>что будет делать сборщик мусора в таком случае? Когда будут удалены (и будут ли) эти объекты?

Автоматическое управление памятью в .NET
Автор(ы): Игорь Ткачев
Дата: 06.12.2002
Алгоритм работы сборщика мусора (garbage collector, далее просто GC), являющегося частью CLR, подробно описан в книге Джефри Рихтера (Jeffrey Richter) «Applied Microsoft .NET Framework Programming». Мы не будем приводить здесь столь же подробное описание этого алгоритма, но обязательно остановимся на некоторых ключевых моментах.

GC в .NET
Автор(ы): Чистяков Влад (VladD2)
Дата: 14.06.2006
Уже много сказано слов о том, что такое GC, чем он хорош и как лучше его применять. Но, наверно, очень многим хочется знать, как устроен конкретный GC. Данная статья открывает некоторые подробности устройчтва GC в .NET Framework.
Re[2]: Сборщик мусора и объекты указывающие друг на друга
От: Аноним  
Дата: 27.09.09 13:08
Оценка: :)
Здравствуйте, anton_t, Вы писали:

_>Здравствуйте, <Аноним>, Вы писали:


А>>Есть классы А и Б, в классе А есть свойство типа Б, а в классе Б — типа А. Создаются эти самые объекты и..

А>>что будет делать сборщик мусора в таком случае? Когда будут удалены (и будут ли) эти объекты?

_>После того, как станут недоступны из корней GC.


А как они станут недоступны, если они будут всегда указывать друг на друга?
Re[3]: Сборщик мусора и объекты указывающие друг на друга
От: TK Лес кывт.рф
Дата: 27.09.09 14:04
Оценка:
Здравствуйте, Аноним, Вы писали:

_>>После того, как станут недоступны из корней GC.

А>А как они станут недоступны, если они будут всегда указывать друг на друга?

Лучше подумать на тему, как сборщик мусора их вообще сможет найти...
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re: Сборщик мусора и объекты указывающие друг на друга
От: nikov США http://www.linkedin.com/in/nikov
Дата: 27.09.09 14:55
Оценка: 6 (1)
Здравствуйте, Аноним, Вы писали:

А>Есть классы А и Б, в классе А есть свойство типа Б, а в классе Б — типа А. Создаются эти самые объекты и..

А>что будет делать сборщик мусора в таком случае? Когда будут удалены (и будут ли) эти объекты?

Сборщик мусора может никогда не удалить объект, на которой нет вообще никаких ссылок (если в приложении никогда не возникнет нехватки памяти).
А может удалить объект ещё в процессе выполнения его экземплярного метода.
Re[3]: Сборщик мусора и объекты указывающие друг на друга
От: anton_t Россия  
Дата: 27.09.09 18:53
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А>Здравствуйте, anton_t, Вы писали:


_>>Здравствуйте, <Аноним>, Вы писали:


А>>>Есть классы А и Б, в классе А есть свойство типа Б, а в классе Б — типа А. Создаются эти самые объекты и..

А>>>что будет делать сборщик мусора в таком случае? Когда будут удалены (и будут ли) эти объекты?

_>>После того, как станут недоступны из корней GC.


А>А как они станут недоступны, если они будут всегда указывать друг на друга?

Они не являются корнями gc, поэтому не важно, указывают они друг на друга или нет. gc в .net немного умнее boost::shared_ptr или пхпешного gc, поэтому тут не о чем беспокоиться.
... << RSDN@Home 1.2.0 alpha 4 rev. 1238>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.