C# IDisposable接口 与析构函数

GC 自动回收 托管资源 但是因为标记并清除 方式 以及 垃圾对象的1代2代,并不是及时清理,那么问题来了

1.非托管资源怎么回收

2.托管资源怎么立马回收

非托管资源可以使用 析构函数 ~class 这样 GC回收的时候会去识别析构来进行一个非托管资源的释放 注意 因为还是GC 处理 还是不是及时 处理的 有GC的机制来决定

那么要立即回收 托管资源 和非托管资源 怎么办?

IDisposable 接口就是为了解决这个

在你需要手动控制回收的资源 类 继承IDisposable

接口有个方法 dispose 在你释放是直接 Class对象.dispose()

还有一种便捷写法 就是 在 代码段 外层 使用using{} 达到同样效果

那什么业务情况才会需要手动释放资源呢?

socket 连接 断开等 句柄资源 数据库连接资源 客户端连接断开日志资源清空等

相关推荐
Scout-leaf3 天前
WPF新手村教程(三)—— 路由事件
c#·wpf
用户298698530143 天前
程序员效率工具:Spire.Doc如何助你一键搞定Word表格排版
后端·c#·.net
mudtools4 天前
搭建一套.net下能落地的飞书考勤系统
后端·c#·.net
玩泥巴的4 天前
搭建一套.net下能落地的飞书考勤系统
c#·.net·二次开发·飞书
唐宋元明清21884 天前
.NET 本地Db数据库-技术方案选型
windows·c#
郑州光合科技余经理5 天前
代码展示:PHP搭建海外版外卖系统源码解析
java·开发语言·前端·后端·系统架构·uni-app·php
lindexi5 天前
dotnet DirectX 通过可等待交换链降低输入渲染延迟
c#·directx·d2d·direct2d·vortice
feifeigo1235 天前
matlab画图工具
开发语言·matlab
dustcell.5 天前
haproxy七层代理
java·开发语言·前端
norlan_jame5 天前
C-PHY与D-PHY差异
c语言·开发语言