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。 |
版本信息
.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 系统要求。