System.GCNotificationStatus 枚举
方法描述
提供针对下一次完整垃圾回收通知的当前注册的相关信息。
语法定义(C# System.GCNotificationStatus 枚举 的用法)
[SerializableAttribute] public enum GCNotificationStatus
提示和注释
使用 RegisterForFullGCNotification 方法来注册完整垃圾回收通知。 然后,使用 WaitForFullGCApproach 方法或 WaitForFullGCComplete 方法返回一个 GCNotificationStatus 枚举,其中包含通知的状态。
System.GCNotificationStatus 枚举例子
此代码示例摘自为垃圾回收通知主题提供的一个更大示例。
public static void WaitForFullGCProc() { while (true) { // CheckForNotify is set to true and false in Main. while (checkForNotify) { // Check for a notification of an approaching collection. GCNotificationStatus s = GC.WaitForFullGCApproach(); if (s == GCNotificationStatus.Succeeded) { Console.WriteLine("GC Notifiction raised."); OnFullGCApproachNotify(); } else if (s == GCNotificationStatus.Canceled) { Console.WriteLine("GC Notification cancelled."); break; } else { // This can occur if a timeout period // is specified for WaitForFullGCApproach(Timeout) // or WaitForFullGCComplete(Timeout) // and the time out period has elapsed. Console.WriteLine("GC Notification not applicable."); break; } // 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; } } Thread.Sleep(500); // FinalExit is set to true right before // the main thread cancelled notification. if (finalExit) { 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 系统要求。