作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下代码:
public class A
{
~A()
{
Console.WriteLine("destructor");
}
}
public static A Aref;
static void Main(string[] args)
{
Aref = new A();
int gen = GC.GetGeneration(Aref);
Aref = null;
GC.Collect(gen, GCCollectionMode.Forced);
Console.WriteLine("GC done");
}
我以为我的 Finalizer 方法会在我调用 GC.Collect 时被调用,但事实并非如此。
谁能解释一下为什么?
最佳答案
在 GC.Collect()
返回之前不会调用终结器。终结器在单独的线程中运行 - 您可以通过调用 GC.WaitForPendingFinalizers()
来等待它们。
关于c# - 为什么在这个非常简单的场景中我的 .net 析构函数没有被调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/606524/
我是一名优秀的程序员,十分优秀!