c# – ReRegisterForFinalize SuppressFinalize现实生活中的例子

前端之家收集整理的这篇文章主要介绍了c# – ReRegisterForFinalize SuppressFinalize现实生活中的例子前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我刚读这篇文章,
杰弗里里希特的“ Garbage Collection: Automatic Memory Management in the Microsoft .NET Framework”,我想不出任何使用ReRegisterForFinalize或SuppressFinalize的真人生活样本.

有人能提供一些例子吗?

解决方法

它在.NET框架中使用的一些地方,总是一个好看的地方.基本模式是:

>被处置的对象被重用. Dispose()方法调用了SuppressFinalize,因此需要重新注册(NativeWindow,RequestContextBase,TaskExceptionHolder类)>终结者失败并发现异常.没什么可做的,但稍后重试.该代码包含if(!Environment.HasShutdownStarted&&&!AppDomain.CurrentDomain.IsFinalizingForUnload()),以确保这样做有意义(DynamicResolver和LoaderAllocatorScout类)>对象参与缓存方案并重新缓存(OverlappedData类)

原文链接:https://www.f2er.com/csharp/97841.html

猜你在找的C#相关文章