CLR Via C#读书笔记——垃圾收集(Timer)【2011-01-18】
来源:互联网 发布:csgo优化补丁 编辑:程序博客网 时间:2024/05/21 06:01
上述代码如果在Release模式下(由于JIT优化了代码)执行则会发生,只执行一次TimerCallback方法,Timer对象t就被垃圾收集器回收。
具体原因:
当垃圾收集开始执行时,垃圾收集器首先假定堆中的所有对象都是不可达的(垃圾),当然这也包括Timer对象。接着,垃圾收集器检查应用程序的根,发现在初始化赋值之后,Main方法没有再使用变量t。因此,应用程序就没有变量引用Timer对象了,垃圾收集就回收了分配给它的内存,这就使定时器停止触发,所以也可以解释为什么TimerCallback方法只被调用了一次。
修改方法:
- CLR Via C#读书笔记——垃圾收集(Timer)【2011-01-18】
- CLR Via C#读书笔记——垃圾收集相关知识点【2011-01-20】
- CLR Via C#读书笔记——CLR分配内存【2011-01-17】
- CLR Via C#读书笔记——Finalize方法被调用的时机【2011-01-18】
- 属性——CLR via C# 读书笔记
- 泛型——CLR via C# 读书笔记
- CLR Via C#读书笔记——可空值类型操作符运算【2011-01-14】
- CLR Via C#读书笔记——using语句【2011-01-19】
- CLR Via C#读书笔记——StreamWriter中的依赖问题【2011-01-19】
- clr via c#读书笔记
- CLR via C#读书笔记
- CLR Via C# 第四章 类型基础——读书笔记
- CLR via C#垃圾回收
- 《CLR via C#:框架设计》读书笔记 - GC(垃圾回收)
- CLR Via C#读书笔记——Monitor类同步线程【2011-02-10】
- CLR Via C#读书笔记——接口约束【2010-01-09】
- CLR via C# 读书笔记目录
- CLR Via C# 第一章(CLR的执行模型)——读书笔记
- vc查看宏展开之后的结果的查看方式
- Experience Java的属性变量名前两个字母大小写问题
- 淘宝api自己的封装之python版
- 自己写的第一个php小程序
- 二十世纪计算机十大著名算法
- CLR Via C#读书笔记——垃圾收集(Timer)【2011-01-18】
- Java Http连接中(HttpURLConnection)中使用代理(Proxy)及其验证(Authentication)
- 纯Web架构 抢占PACS/RIS技术先机
- 有关Yii Application生命周期和controller目录结构的一点总结(待续)
- Ajax MVC2 Wcf Jquery Linq Demo
- 四十条对你后代有影响的案例和建议
- Vista/Win7 句柄表地址
- 布署solr 时抛出的一个异常
- 方式