是否可以停止.NET垃圾回收?

程序员可以用C#编程语言以编程方式启动/停止垃圾收集吗? 例如,用于性能优化等。

并不是的。 您可以通过GC.AddMemoryPressureGC.RemoveMemoryPressure等方法提供GC提示,但不能完全停止。

此外,垃圾收集不是一个过程密集。 程序员很少担心它。

同时有可能, GC类中有方法:

GC.TryStartNoGCRegion(...)GC.EndNoGCRegion()

一般来说,没有。 大多数人会认为过早优化会担心垃圾收集,除非你做一些分析并发现它确实是应用程序性能不佳的原因。

如果您对调整GC的性能(或者更有可能调整您的应用程序以提高其相对于GC的性能)的细节感兴趣, MSDN对如何做到这一点有相当不错的描述。

不,那里没有。 充其量你可以自己触发垃圾收集,虽然这被认为是非常糟糕的事情,因为它可能会干扰GC使用的内置调度算法。