System.GC.WaitForFullGCComplete 方法
方法描述
返回已注册通知的状态,用于确定公共语言运行时引发的完整垃圾回收是否已完成。
语法定义(C# System.GC.WaitForFullGCComplete 方法 的用法)
public static GCNotificationStatus WaitForFullGCComplete()
参数/返回值
参数值/返回值 | 参数类型/返回类型 | 参数描述/返回描述 |
---|---|---|
返回值 | System.GCNotificationStatus | 已注册垃圾回收通知的状态。 |
提示和注释
使用此方法返回的 GCNotificationStatus 枚举,确定使用 RegisterForFullGCNotification 方法注册的当前垃圾回收通知的状态。 还可以使用 WaitForFullGCApproach 方法来确定完整垃圾回收是否已临近。
枚举返回 Succeeded 时,您可以执行一些任务,如继续工作和通过 CollectionCount 属性获取回收计数。
此方法会无限期等待获取垃圾回收通知。 如果要指定此方法在无法获取通知时返回的超时期限,请使用 GC.WaitForFullGCApproach(Int32) 方法重载。 如果在调用此方法时未指定超时期限,则可以在等待时间过长时调用 CancelFullGCNotification 方法。
在调用此方法之前应先调用 WaitForFullGCApproach 方法,以确保已进行过完整垃圾回收。 单独调用此方法会产生不确定结果。
System.GC.WaitForFullGCComplete 方法例子
此代码示例摘自为垃圾回收通知主题提供的一个更大示例。
// Check for a notification of a completed collection. s = GC.WaitForFullGCComplete(); if (s == GCNotificationStatus.Succeeded) { Console.WriteLine("GC Notifiction raised."); OnFullGCCompleteEndNotify(); } else if (s == GCNotificationStatus.Canceled) { Console.WriteLine("GC Notification cancelled."); break; } else { // Could be a time out. Console.WriteLine("GC Notification not applicable."); break; }
版本信息
.NET Framework 受以下版本支持:4、3.5 SP1、3.0 SP2、2.0 SP2 .NET Framework Client Profile 受以下版本支持:4、3.5 SP1
适用平台
Windows 7, Windows Vista SP1 或更高版本, Windows XP SP3, Windows Server 2008(不支持服务器核心), Windows Server 2008 R2(支持 SP1 或更高版本的服务器核心), Windows Server 2003 SP2 .NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。