出于好奇,我想知道是否存在垃圾收集器无法运行或根本不运行的可能性(可能是由于异常)?
如果是,很可能会出现OutOfMemory/ Stackoverflow异常。在这种情况下,只需查看异常消息、堆栈跟踪等,就可以确定gc无法运行的核心问题。
发布于 2013-03-06 21:24:09
在某些边缘情况下,finally块不会执行-调用FailFast是一种情况,有关其他情况,请参阅问题here。
鉴于此,我可以想象有一些情况(特别是在using语句/ IDisposable对象中),在finally块中发生的资源清理/垃圾收集不会被执行。
更明确地说,是这样的:
try
{
//new up an expensive object, maybe one that uses native resources
Environment.FailFast(string.Empty);
}
finally
{
Console.WriteLine("never executed");
}https://stackoverflow.com/questions/15248212
复制相似问题