我们刚刚在我们的应用程序中堵塞了一个漏洞,其中终结器队列增长到了惊人的比例。修复的一部分是显式调用 GC.Collect()。在我看来,这似乎是不必要的草率,但它确实有效。
对终结器队列不是特别熟悉,我有点困惑。这是由终结器花费太长时间引起的吗?常规 GC 收集是否不运行终结器 - 也许它仅限于一定的持续时间?
tl; dr:如果我没有明确调用 GC.Collect(),则不会运行终结器。我想让它消失。做什么?
我们刚刚在我们的应用程序中堵塞了一个漏洞,其中终结器队列增长到了惊人的比例。修复的一部分是显式调用 GC.Collect()。在我看来,这似乎是不必要的草率,但它确实有效。
对终结器队列不是特别熟悉,我有点困惑。这是由终结器花费太长时间引起的吗?常规 GC 收集是否不运行终结器 - 也许它仅限于一定的持续时间?
tl; dr:如果我没有明确调用 GC.Collect(),则不会运行终结器。我想让它消失。做什么?