我理解并欣赏System.WeakReference类在 .NET 框架中的用处,但对实现细节感到好奇。
WeakReference 如何在 .NET 中实现?MSDN 详细讨论了 WeakReference 的用法,但我所看到的关于它如何在幕后工作的细节很少。
CLR 如何跟踪引用并知道在收集 Target 时将内部句柄清空,而不阻止 GC?它是否需要在 CLR 本身中进行特殊处理?
我主要关心的是使用 WeakReferences(特别是如果使用其中的许多)是否存在与使用标准对象引用不同的性能影响。