我刚刚在阅读Jeffrey Richter的文章“Garbage Collection: Automatic Memory Management in the Microsoft .NET Framework”,但是我找不到任何真实生活中使用ReRegisterForFinalize
或SuppressFinalize
的示例。
是否有人能够提供一些示例呢?
我刚刚在阅读Jeffrey Richter的文章“Garbage Collection: Automatic Memory Management in the Microsoft .NET Framework”,但是我找不到任何真实生活中使用ReRegisterForFinalize
或SuppressFinalize
的示例。
是否有人能够提供一些示例呢?
在 .NET 框架中,有一些地方会使用到它,这通常是查找的好地方。基本模式如下:
当你复活一个实例时,你需要使用ReRegisterForFinalize
。在链接的文章中提到的复活是将对象从其析构函数(finalizer)重新根源化的操作。
这只是把问题转移到了“何时复活对象”的问题上。在我回答this question时,我猜测连接池或类似的结构可能会使用它。
ReRegisterForFinalize
。 - Nahum