C#为什么在我们已经有终结器时处理
发布时间:2020-12-16 00:09:59 所属栏目:百科 来源:网络整理
导读:参见英文答案 Finalize vs Dispose????????????????????????????????????13个 我一直听到有关在终结器和Dispose()方法中放置代码来处理非托管资源的建议.我不明白的是,因为在GC发生时调用终结器所以我们可以在技术上假设它一直被调用.在那种情况下,为什么还
参见英文答案 >
Finalize vs Dispose????????????????????????????????????13个
我一直听到有关在终结器和Dispose()方法中放置代码来处理非托管资源的建议.我不明白的是,因为在GC发生时调用终结器所以我们可以在技术上假设它一直被调用.在那种情况下,为什么还要处理一个物体呢?我错过了什么吗? 解决方法
因为您无法控制终结器的运行时间. GC可能会频繁运行,而单独依赖终结器的程序可能因资源不足(文件句柄,数据库连接)而崩溃. 最佳实践(一次性模式)使用终结器作为备份计划,通常执行终结器被认为是需要修复的错误. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ios – XCode 4.3.1中的核心数据设置一对多
- ruby-on-rails-3 – 堆栈级别太深,在rspec中使用`puts resp
- Swift 4 JSON 解析进阶
- Cannot overwrite file /home/baadshah/.config/QtProject/
- objective-c – 目标C:从字符串中剥离HTML属性
- 对Cocosd2x3.x触摸事件的深度解析
- Cocos2d-x 3.2 大富翁游戏项目开发-第二十八部分 游戏保存和
- 如何在C#中使用Selenium WebDriver获取当前窗口的URL?
- PostgreSQL pg_xlogdump
- 用react + react-redux构建项目 基本配置