我正在开发C# .NET脚本,想知道在方法执行期间是否调用了垃圾回收器,类似处理信号的方式?
我想要确保延迟时间是由GC引起的。
我正在开发C# .NET脚本,想知道在方法执行期间是否调用了垃圾回收器,类似处理信号的方式?
我想要确保延迟时间是由GC引起的。
当垃圾回收器(GC)正在运行时,所有线程都会暂停。因此,在GC运行时,您不能在托管代码中执行任何操作。
不过,有很多获取某种通知的选项。例如,您可以创建一个线程来执行以下操作:
var status = GC.WaitForFullGCApproach();
GC.RegisterForFullGCNotification
才能使其正常工作。当然,这也会产生一定的性能损耗等。通常来说,调整GC工作方式并不是一个好主意。GC.CollectionCount
,并查看是否发生了变化。