System.GC.WaitForFullGCApproach 方法 (Int32)

方法描述

在指定的超时期限内,返回已注册通知的状态,用于确定公共语言运行时是否即将引发完整垃圾回收。

语法定义(C# System.GC.WaitForFullGCApproach 方法 (Int32) 的用法)

public static GCNotificationStatus WaitForFullGCApproach(
	int millisecondsTimeout
)

参数/返回值

参数值/返回值 参数类型/返回类型 参数描述/返回描述
millisecondsTimeout System-Int32 在获取通知状态前等待的时间长度。指定 -1 表示无限期等待。
返回值 System.GCNotificationStatus 已注册垃圾回收通知的状态。

提示和注释

使用此方法返回的 GCNotificationStatus 枚举,确定使用 RegisterForFullGCNotification 方法注册的当前垃圾回收通知的状态。 还可以使用 WaitForFullGCComplete 方法来确定完整垃圾回收是否已完成。

请注意,每当获取了垃圾回收通知状态时,此方法都会立即返回,无论 millisecondsTimeout 指定的值是什么。 如果在 millisecondsTimeout 超时前未获取垃圾回收通知状态,则此方法返回 NotApplicable。

当枚举返回 Succeeded 时,您可以执行一些任务,例如:阻止分配其他对象以及使用 Collect 方法自行引发回收。 请注意,通知不保证将发生完整垃圾回收,只保证条件已达到阈值,支持发生完整垃圾回收。

无法等待超时期限时,可以调用 CancelFullGCNotification 方法。

应在此方法之后调用 WaitForFullGCComplete 方法,以确保已进行过完整垃圾回收。 单独调用此方法会导致不确定结果。

System.GC.WaitForFullGCApproach 方法 (Int32)例子


异常

异常 异常描述
ArgumentOutOfRangeException millisecondsTimeout 必须为非负数或小于或等于 MaxValue 或 -1。

命名空间

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