C#终结器
来源:互联网 发布:java中锁的概念 编辑:程序博客网 时间:2024/06/05 18:02
终结器(finalizer)主要用于C#.Net中的非托管代码清理中,通常同时实现终结器和Dispose方式。这样对于细心的使用者直接显示调用Dispose方法会提高垃圾回收的性能,对于粗心的使用者虽然忘记了调用Dispose方法,但也不至于使得非托管资源得不到释放。代码如下:
public class MyResourceRelease : IDisposable{ ~MyResourceRelease() { Dispose(false); } /// 保证资源只用释放一次 private bool _alreadyDisposed = false; /// 用来判断释放资源的类别(托管和非托管) protected virtual void Dispose(bool isDisposing) { if (_alreadyDisposed) { return; } if (isDisposing) { //释放托管资源 } //释放非托管资源 _alreadyDisposed = true; } public void Dispose() { Dispose(true); //阻止GC把该对象放入终结器队列 GC.SuppressFinalize(this); }}原文地址:http://hi.baidu.com/qj6549/blog/item/e188eba4343453ff9052ee87.html
- C#终结器
- C#析构函数(destructor)和终结器(Finalizer)
- C# 析构函数(destructor)和终结器(Finalizer)
- C#析构函数(destructor)和终结器(Finalizer)
- C# 构造器(构造器链),终结器,对象初始化器
- 心灵终结3.0修改器
- C# 析构函数(Destructor)和终结器(Finalizer)——托管资源的释放
- 死亡与新生: 终结JAVA包袱,向往C#轻装上阵
- 给Java类添加终结器
- 终结点映射器中没有更多的终结点可用 解决办法
- 0x000006D9: 终结点映射器中没有更多的终结点可用。 。
- 终结"AV终结者"
- 看看C# 6.0中那些语法糖都干了些什么(终结篇)
- C#流言终结者1(当初入门时的一些小实验)
- 看看C# 6.0中那些语法糖都干了些什么(终结篇)
- java中的静态类初始化器与终结器
- Java静态类初始化器与终结器
- Win7设置自环的方法(网卡终结器)
- 解决IE6中select组件不受css(z-index)的控制
- 如何安装消息队列(MSMQ)
- MediaScanner Java, JNI, mediaservice 调用关系
- 从CWnd直接继承类
- 关于给模拟器安装apk文件 显示device not found~
- C#终结器
- mysql配置文件参考黄金版
- 管道和xargs命令
- 数据挖掘(Data Mining)——Pentaho Weka
- An invalid request was received from your browser...Required header \'Accept\' missing
- windows操作系统下忘记Mysql的root密码,重设密码方法如下
- 简单的才是快乐的!
- Js中的this和window.event.srcElement
- 每天学习一算法系列(32)(求一个矩阵中最大的二维矩阵(元素和最大))