GC.WaitForFullGCApproach Método

Definición

Devuelve el estado de una notificación registrada para determinar si es inminente una recolección completa de elementos no utilizados bloqueada por parte de Common Language Runtime.Returns the status of a registered notification for determining whether a full, blocking garbage collection by the common language runtime is imminent.

Sobrecargas

WaitForFullGCApproach()

Devuelve el estado de una notificación registrada para determinar si es inminente una recolección completa de elementos no utilizados bloqueada por parte de Common Language Runtime.Returns the status of a registered notification for determining whether a full, blocking garbage collection by the common language runtime is imminent.

WaitForFullGCApproach(Int32)

Devuelve el estado de una notificación registrada, en un tiempo de espera especificado, para determinar si una recolección completa de elementos no utilizados bloqueada por parte de Common Language Runtime es inminente.Returns, in a specified time-out period, the status of a registered notification for determining whether a full, blocking garbage collection by the common language runtime is imminent.

WaitForFullGCApproach()

Devuelve el estado de una notificación registrada para determinar si es inminente una recolección completa de elementos no utilizados bloqueada por parte de Common Language Runtime.Returns the status of a registered notification for determining whether a full, blocking garbage collection by the common language runtime is imminent.

public:
 static GCNotificationStatus WaitForFullGCApproach();
public static GCNotificationStatus WaitForFullGCApproach ();
[System.Security.SecurityCritical]
public static GCNotificationStatus WaitForFullGCApproach ();
static member WaitForFullGCApproach : unit -> GCNotificationStatus
[<System.Security.SecurityCritical>]
static member WaitForFullGCApproach : unit -> GCNotificationStatus
Public Shared Function WaitForFullGCApproach () As GCNotificationStatus

Devoluciones

GCNotificationStatus

El estado de la notificación registrada de recolección de elementos no utilizados.The status of the registered garbage collection notification.

Atributos

Ejemplos

En el ejemplo siguiente se muestra cómo utilizar este método para determinar si se está acercando a una recolección completa de elementos no utilizados bloqueada.The following example shows how to use this method to determine whether a full, blocking garbage collection is approaching. Siempre que el estado de la notificación es Succeeded , se llama al método de usuario OnFullGCApproachNotify para realizar acciones en respuesta a la colección de enfoque.Whenever the status of the notification is Succeeded, the user method OnFullGCApproachNotify is called to perform actions in response to the approaching collection. Este ejemplo de código forma parte de un ejemplo más grande proporcionado para el tema notificaciones de recolección de elementos no utilizados.This code example is part of a larger example provided for Garbage Collection Notifications topic.

// 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 an approaching collection.
GCNotificationStatus s = GC.WaitForFullGCApproach();
if (s == GCNotificationStatus.Succeeded)
{
    Console.WriteLine("GC Notification 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 an approaching collection.
Dim s As GCNotificationStatus = GC.WaitForFullGCApproach
If (s = GCNotificationStatus.Succeeded) Then
    Console.WriteLine("GC Notification raised.")
    OnFullGCApproachNotify()
ElseIf (s = GCNotificationStatus.Canceled) Then
    Console.WriteLine("GC Notification cancelled.")
    Exit While
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.")
    Exit While
End If

Comentarios

Use la GCNotificationStatus enumeración devuelta por este método para determinar el estado de la notificación de recolección de elementos no utilizados actual que se registró mediante el RegisterForFullGCNotification método.Use the GCNotificationStatus enumeration returned by this method to determine the status of the current garbage collection notification that was registered by using the RegisterForFullGCNotification method. También puede utilizar el WaitForFullGCComplete método para determinar si se ha completado la recolección de elementos no utilizados completa.You can also use the WaitForFullGCComplete method to determine whether the full garbage collection has completed.

Cuando se devuelve la enumeración Succeeded , se pueden realizar tareas como evitar que se asignen objetos adicionales y que se induzca una colección con el Collect método.When the enumeration returns Succeeded, you can do tasks such as preventing additional objects from being allocated and inducing a collection yourself with the Collect method. Tenga en cuenta que la notificación no garantiza que se produzca una recolección de elementos no utilizados completa, solo que las condiciones han alcanzado el umbral favorable para que se produzca una recolección de elementos no utilizados completa.Note that the notification does not guarantee that a full garbage collection will occur, only that conditions have reached the threshold that are favorable for a full garbage collection to occur.

Este método espera indefinidamente a que se obtenga una notificación de recolección de elementos no utilizados.This method waits indefinitely for a garbage collection notification to be obtained. Si desea especificar un período de tiempo de espera para que el método devuelva si la notificación no se puede obtener, utilice la GC.WaitForFullGCApproach(Int32) sobrecarga del método.If you want to specify a time-out period for the method to return if the notification cannot be obtained, use the GC.WaitForFullGCApproach(Int32) method overload. Si llama a este método sin especificar un tiempo de espera, puede llamar al CancelFullGCNotification método si espera más tiempo del preferido.If you call this method without specifying a time-out, you can call the CancelFullGCNotification method if you are waiting longer than preferred.

Debe seguir este método con una llamada al WaitForFullGCComplete método para asegurarse de que ha tenido una recolección completa de elementos no utilizados.You should follow this method with a call to the WaitForFullGCComplete method to make sure that you have had a full garbage collection. Llamar a este método solo produce resultados indeterminados.Calling this method alone causes indeterminate results.

Consulte también

Se aplica a

WaitForFullGCApproach(Int32)

Devuelve el estado de una notificación registrada, en un tiempo de espera especificado, para determinar si una recolección completa de elementos no utilizados bloqueada por parte de Common Language Runtime es inminente.Returns, in a specified time-out period, the status of a registered notification for determining whether a full, blocking garbage collection by the common language runtime is imminent.

public:
 static GCNotificationStatus WaitForFullGCApproach(int millisecondsTimeout);
public static GCNotificationStatus WaitForFullGCApproach (int millisecondsTimeout);
[System.Security.SecurityCritical]
public static GCNotificationStatus WaitForFullGCApproach (int millisecondsTimeout);
static member WaitForFullGCApproach : int -> GCNotificationStatus
[<System.Security.SecurityCritical>]
static member WaitForFullGCApproach : int -> GCNotificationStatus
Public Shared Function WaitForFullGCApproach (millisecondsTimeout As Integer) As GCNotificationStatus

Parámetros

millisecondsTimeout
Int32

Cantidad de tiempo que hay que esperar para obtener un estado de notificación.The length of time to wait before a notification status can be obtained. Especifique -1 para esperar indefinidamente.Specify -1 to wait indefinitely.

Devoluciones

GCNotificationStatus

El estado de la notificación registrada de recolección de elementos no utilizados.The status of the registered garbage collection notification.

Atributos

Excepciones

millisecondsTimeout debe ser no negativo, o bien menor o igual que MaxValue o -1.millisecondsTimeout must be either non-negative or less than or equal to MaxValue or -1.

Comentarios

Use la GCNotificationStatus enumeración devuelta por este método para determinar el estado de la notificación de recolección de elementos no utilizados actual que se registró mediante el RegisterForFullGCNotification método.Use the GCNotificationStatus enumeration returned by this method to determine the status of the current garbage collection notification that was registered by using the RegisterForFullGCNotification method. También puede utilizar el WaitForFullGCComplete método para determinar si se ha completado la recolección de elementos no utilizados completa.You can also use the WaitForFullGCComplete method to determine whether the full garbage collection has completed.

Tenga en cuenta que este método vuelve inmediatamente cuando se obtiene un estado de notificación de recolección de elementos no utilizados, independientemente del valor especificado por millisecondsTimeout .Note that this method returns immediately whenever a garbage collection notification status is obtained, regardless of the value specified by millisecondsTimeout. Si no se obtiene un estado de notificación de recolección de elementos no utilizados antes de que se millisecondsTimeout agote el tiempo de espera, este método devuelve NotApplicable .If a garbage collection notification status is not obtained before millisecondsTimeout times out, this method returns NotApplicable.

Cuando se devuelve la enumeración Succeeded , se pueden realizar tareas como evitar que se asignen objetos adicionales y que se induzca una colección con el Collect método.When the enumeration returns Succeeded, you can do tasks such as preventing additional objects from being allocated and inducing a collection yourself with the Collect method. Tenga en cuenta que la notificación no garantiza que se produzca una recolección de elementos no utilizados completa, solo que las condiciones han alcanzado el umbral favorable para que se produzca una recolección de elementos no utilizados completa.Note that the notification does not guarantee that a full garbage collection will occur, only that conditions have reached the threshold that are favorable for a full garbage collection to occur.

Puede llamar al CancelFullGCNotification método cuando no puede esperar a que transcurra el período de tiempo de espera.You can call the CancelFullGCNotification method when you cannot wait for the time-out period to elapse.

Debe seguir este método con una llamada al WaitForFullGCComplete método para asegurarse de que ha tenido una recolección completa de elementos no utilizados.You should follow this method with a call to the WaitForFullGCComplete method to make sure that you have had a full garbage collection. Llamar a este método solo produce resultados indeterminados.Calling this method alone causes indeterminate results.

Consulte también

Se aplica a