【发布时间】:2010-11-08 21:23:37
【问题描述】:
我理解并欣赏 System.WeakReference 类在 .NET 框架中的用处,但对实现细节感到好奇。
WeakReference 如何在 .NET 中实现? MSDN 详细讨论了 WeakReference 的用法,但我所看到的关于它如何在幕后工作的细节很少。
CLR 如何在不阻止 GC 的情况下跟踪引用并知道在收集 Target 时将内部句柄清空?它是否需要在 CLR 本身中进行特殊处理?
我主要关心的是使用 WeakReferences(尤其是如果使用其中很多)是否会产生与使用标准对象引用不同的性能影响。
【问题讨论】:
-
我已经做了很多研究,并在博客中详细介绍了我的发现:reedcopsey.com/?p=50
标签: .net reference clr reference-counting