我只是讀這篇文章, 「Garbage Collection: Automatic Memory Management in the Microsoft .NET Framework」,由傑弗裏裏希特,我想不出任何現實生活中的樣品使用ReRegisterForFinalize
或SuppressFinalize
。ReRegisterForFinalize方法SuppressFinalize現實生活中的例子
任何人都可以提供一些例子嗎?
我只是讀這篇文章, 「Garbage Collection: Automatic Memory Management in the Microsoft .NET Framework」,由傑弗裏裏希特,我想不出任何現實生活中的樣品使用ReRegisterForFinalize
或SuppressFinalize
。ReRegisterForFinalize方法SuppressFinalize現實生活中的例子
任何人都可以提供一些例子嗎?
它在.NET框架中使用的少數幾個地方,總是一個好看的地方。基本模式是:
復活實例時需要ReRegisterForFinalize
。復活(在鏈接文章中提到)是從其析構函數(終結器)重新生成對象的操作。
這隻會將問題轉移到「您何時復活對象」。在我對this question的回答中,我推測連接池或類似構造可能會使用它。
我仍然不知道什麼時候應該使用'ReRegisterForFinalize' – Nahum
在'正常'應用程序或庫代碼中,您不會。一個ConnectionPool是一個高度專業化的軟件。 –
'SuppressFinalize'是常見的,但不知道什麼時候我想使用'ReRegisterForFinalize'。 – CodesInChaos