今天有时间了,学习了下IDisposable,在园子里看了不少文章,受益很多,在此先谢过各位大侠了,在Reflector里面看到了一个实现,自己感觉还不错,先copy出来,防止忘记啊,
![]()
}
这个算做为备忘录吧。上面的代码可以防止重复释放,也加锁了,不会出现线程不安全的情况了,(我这样理解的,不知道对不)
可是我现在有个疑问了,对于if(disposing){GC.SuppressFinalize(this);}在这里,我们需要做的是释放托管资源,并告诉GC,不用再释放了。
http://www.cnblogs.com/michaelhuwei/archive/2007/12/28/1018646.html在这篇有提到对于一些托管资源的释放,像DataSet,需要手动释放。
现在问题来了,如果我们这里不手动释放DataSet这样的管托资源,会出现什么状况呢??GC还会在回收吗?如果会的话,SuppressFinalize不是请求系统不要调用指定对象的终结器的吗?还请各路高手不吝指教,谢谢了~
相关文章:
-
2022-12-23
-
2022-02-02
-
2022-01-01
-
2022-01-07
-
2021-09-08
-
2021-12-15
-
2022-12-23
-
2021-05-17
猜你喜欢
-
2022-12-23
-
2021-05-24
-
2022-12-23
-
2022-12-23
-
2021-09-06
-
2022-01-31
-
2022-02-12
相关资源
-
下载
2023-02-13
-
下载
2021-06-06
-
下载
2022-12-08