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;
}

异常

异常 异常描述

命名空间

namespace: System

程序集: mscorlib(在 mscorlib.dll 中)

版本信息

.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 系统要求。