我刚读这篇文章,
杰弗里里希特的“ Garbage Collection: Automatic Memory Management in the Microsoft .NET Framework”,我想不出任何使用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类)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。