【发布时间】:2013-08-19 03:50:15
【问题描述】:
我正在寻找一种在对象引用被垃圾回收时偷偷调用回调函数的方法。
我知道我可以将对象包装在弱引用中,但我仍然需要轮询引用集合以了解状态更改。
我宁愿不进行轮询,因为当什么都没发生时,这似乎是在浪费 CPU 周期。有没有更有效的方法来检测对象何时被垃圾回收?
注意:我无权访问目标代码,因此无法在终结器中添加回调。
【问题讨论】:
标签: c# garbage-collection weak-references
我正在寻找一种在对象引用被垃圾回收时偷偷调用回调函数的方法。
我知道我可以将对象包装在弱引用中,但我仍然需要轮询引用集合以了解状态更改。
我宁愿不进行轮询,因为当什么都没发生时,这似乎是在浪费 CPU 周期。有没有更有效的方法来检测对象何时被垃圾回收?
注意:我无权访问目标代码,因此无法在终结器中添加回调。
【问题讨论】:
标签: c# garbage-collection weak-references
这可能不是您要寻找的答案,但是在收集对象时没有回调。如果您无权访问该类,则可以将其包装在具有终结器的类中并改用它。
【讨论】: