c#中CLR单独启用线程,使用的算法Mark Sweep,循环堆里的对象,发现对象没有引用就删掉
回收机制只能删除托管对象(new出来 在堆里的对象)
什么时候回收也不清楚
不能自动删除非托管对象
所以类似于 流 数据库这样的对象 使用完后要手动释放
使用using 或者 Dispose
强行回收
GC.Collect();
关于垃圾回收
原文:https://www.cnblogs.com/hgdhome/p/11691477.html