Я понимаю и ценю полезность класса System.WeakReference в .NET Framework, но мне интересно узнать подробности реализации.Внедрение WeakReference в .NET
Как работает WeakReference в .NET? MSDN подробно обсуждает использование WeakReference, но имеет небольшие детали, которые я видел о том, как это работает под капотом.
Как CLR отслеживает ссылку и знает, чтобы исключить внутренний дескриптор при сборке цели, не предотвращая GC? Требуется ли специальная обработка в самой CLR?
Моя основная забота заключается в том, будут ли последствия использования WeakReferences влиять на производительность (особенно если они используются для многих из них), которые отличаются от характеристик использования стандартных ссылок на объекты.
С тех пор я провел довольно много исследований и подробно рассказал о своих выводах: http://reedcopsey.com/?p=50 –