GC.WaitForFullGCApproach GC.WaitForFullGCApproach GC.WaitForFullGCApproach GC.WaitForFullGCApproach Method

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() WaitForFullGCApproach() WaitForFullGCApproach() 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) WaitForFullGCApproach(Int32) WaitForFullGCApproach(Int32) 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() WaitForFullGCApproach() WaitForFullGCApproach() 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();
[System.Security.SecurityCritical]
public static GCNotificationStatus WaitForFullGCApproach ();
static member WaitForFullGCApproach : unit -> GCNotificationStatus
Public Shared Function WaitForFullGCApproach () As GCNotificationStatus

Devoluciones

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

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 Succeededes, se llama OnFullGCApproachNotify al método de usuario 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 RegisterForFullGCNotification que se registró mediante el 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 Succeededla enumeración, se pueden realizar tareas como evitar que se asignen objetos adicionales y que se induzca una Collect colección con el 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 GC.WaitForFullGCApproach(Int32) la 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.

Seguridad

LinkDemand
para plena confianza para el llamador inmediato.for full trust for the immediate caller. Un código de confianza parcial no puede utilizar este miembro.This member cannot be used by partially trusted code.

SecurityCriticalAttribute
requiere plena confianza para el llamador inmediato.requires full trust for the immediate caller. Este miembro no puede ser utilizado por código transparente o de confianza parcial.This member cannot be used by partially trusted or transparent code.

Consulte también:

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

Parámetros

millisecondsTimeout
Int32 Int32 Int32 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

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

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 RegisterForFullGCNotification que se registró mediante el 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 millisecondsTimeout, independientemente del valor especificado por.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 millisecondsTimeout de elementos no utilizados antes de NotApplicableque se agote el tiempo de espera, este método devuelve.If a garbage collection notification status is not obtained before millisecondsTimeout times out, this method returns NotApplicable.

Cuando se devuelve Succeededla enumeración, se pueden realizar tareas como evitar que se asignen objetos adicionales y que se induzca una Collect colección con el 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 CancelFullGCNotification al 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.

Seguridad

LinkDemand
para plena confianza para el llamador inmediato.for full trust for the immediate caller. Un código de confianza parcial no puede utilizar este miembro.This member cannot be used by partially trusted code.

SecurityCriticalAttribute
requiere plena confianza para el llamador inmediato.requires full trust for the immediate caller. Este miembro no puede ser utilizado por código transparente o de confianza parcial.This member cannot be used by partially trusted or transparent code.

Consulte también:

Se aplica a