Compartir a través de


GC.WaitForFullGCComplete Método

Definición

Devuelve el estado de una notificación registrada para determinar si se ha completado una recolección completa de elementos no utilizados bloqueada por parte de Common Language Runtime.

Sobrecargas

WaitForFullGCComplete()

Devuelve el estado de una notificación registrada para determinar si se ha completado una recolección completa de elementos no utilizados bloqueada por parte de Common Language Runtime.

WaitForFullGCComplete(Int32)

Devuelve el estado de una notificación registrada, en un tiempo de espera especificado, para determinar si se ha completado una recolección completa de elementos no utilizados bloqueada por parte de Common Language Runtime.

WaitForFullGCComplete(TimeSpan)

Devuelve el estado de una notificación registrada sobre si se ha completado una recolección de elementos no utilizados de bloqueo. Puede esperar indefinidamente para una colección completa.

WaitForFullGCComplete()

Source:
GC.CoreCLR.cs
Source:
GC.CoreCLR.cs
Source:
GC.CoreCLR.cs

Devuelve el estado de una notificación registrada para determinar si se ha completado una recolección completa de elementos no utilizados bloqueada por parte de Common Language Runtime.

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

Devoluciones

El estado de la notificación registrada de recolección de elementos no utilizados.

Atributos

Ejemplos

En el ejemplo siguiente se muestra cómo usar este método para determinar si se ha completado una recolección completa de elementos no utilizados. Siempre que el estado de la notificación sea Succeeded, se llama al método OnFullGCCompletedNotify user para realizar acciones en respuesta a la colección completada. 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.

// Check for a notification of a completed collection.
s = GC::WaitForFullGCComplete();
if (s == GCNotificationStatus::Succeeded)
{
    Console::WriteLine("GC Notification 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;
}
// Check for a notification of a completed collection.
GCNotificationStatus status = GC.WaitForFullGCComplete();
if (status == GCNotificationStatus.Succeeded)
{
    Console.WriteLine("GC Notification raised.");
    OnFullGCCompleteEndNotify();
}
else if (status == GCNotificationStatus.Canceled)
{
    Console.WriteLine("GC Notification cancelled.");
    break;
}
else
{
    // Could be a time out.
    Console.WriteLine("GC Notification not applicable.");
    break;
}
// Check for a notification of a completed collection.
match GC.WaitForFullGCComplete() with
| GCNotificationStatus.Succeeded ->
    printfn "GC Notification raised."
    onFullGCCompleteEndNotify ()
| GCNotificationStatus.Canceled ->
    printfn "GC Notification cancelled."
    broken <- true
| _ ->
    // Could be a time out.
    printfn "GC Notification not applicable."
    broken <- true
' Check for a notification of a completed collection.
s = GC.WaitForFullGCComplete
If (s = GCNotificationStatus.Succeeded) Then
    Console.WriteLine("GC Notifiction raised.")
    OnFullGCCompleteEndNotify()
ElseIf (s = GCNotificationStatus.Canceled) Then
    Console.WriteLine("GC Notification cancelled.")
    Exit While
Else
    ' Could be a time out.
    Console.WriteLine("GC Notification not applicable.")
    Exit While
End If

Comentarios

Utilice 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 . También puede usar el WaitForFullGCApproach método para determinar si una recolección completa de elementos no utilizados es inminente.

Cuando la enumeración devuelve Succeeded, puede realizar tareas como reanudar el trabajo y obtener un recuento de colecciones con la CollectionCount propiedad .

Este método espera indefinidamente a que se obtenga una notificación de recolección de elementos no utilizados. Si desea especificar un período de tiempo de espera para que el método devuelva si no se puede obtener la notificación, use la sobrecarga del GC.WaitForFullGCApproach(Int32) método . Si llama a este método sin especificar un tiempo de espera, puede llamar al CancelFullGCNotification método si espera más tiempo de lo preferido.

Esta llamada al método debe ir precedida de una llamada al WaitForFullGCApproach método para asegurarse de que ha tenido una recolección completa de elementos no utilizados. Llamar solo a este método puede generar resultados indeterminados.

Consulte también

Se aplica a

WaitForFullGCComplete(Int32)

Source:
GC.CoreCLR.cs
Source:
GC.CoreCLR.cs
Source:
GC.CoreCLR.cs

Devuelve el estado de una notificación registrada, en un tiempo de espera especificado, para determinar si se ha completado una recolección completa de elementos no utilizados bloqueada por parte de Common Language Runtime.

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

Parámetros

millisecondsTimeout
Int32

Cantidad de tiempo que hay que esperar para obtener un estado de notificación. Especifique -1 para esperar indefinidamente.

Devoluciones

El estado de la notificación registrada de recolección de elementos no utilizados.

Atributos

Excepciones

millisecondsTimeout debe ser no negativo o menor o igual que Int32.MaxValue o -1.

Comentarios

Utilice 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 . También puede usar el WaitForFullGCApproach método para determinar si una recolección completa de elementos no utilizados es inminente.

Tenga en cuenta que este método devuelve inmediatamente cada vez que se obtiene un estado de notificación de recolección de elementos no utilizados, independientemente del valor especificado por millisecondsTimeout. Si no se obtiene un estado de notificación de recolección de elementos no utilizados antes millisecondsTimeout de que se agote el tiempo de espera, este método devuelve NotApplicable.

Cuando la enumeración devuelve Succeeded, puede realizar tareas como reanudar el trabajo y obtener un recuento de colecciones con la CollectionCount propiedad .

Puede llamar al CancelFullGCNotification método cuando no puede esperar a que transcurre el período de tiempo de espera.

Esta llamada al método debe ir precedida de una llamada al WaitForFullGCApproach método para asegurarse de que ha tenido una recolección completa de elementos no utilizados. Llamar solo a este método puede generar resultados indeterminados.

Consulte también

Se aplica a

WaitForFullGCComplete(TimeSpan)

Source:
GC.cs
Source:
GC.cs
Source:
GC.cs

Devuelve el estado de una notificación registrada sobre si se ha completado una recolección de elementos no utilizados de bloqueo. Puede esperar indefinidamente para una colección completa.

public:
 static GCNotificationStatus WaitForFullGCComplete(TimeSpan timeout);
public static GCNotificationStatus WaitForFullGCComplete (TimeSpan timeout);
static member WaitForFullGCComplete : TimeSpan -> GCNotificationStatus
Public Shared Function WaitForFullGCComplete (timeout As TimeSpan) As GCNotificationStatus

Parámetros

timeout
TimeSpan

Tiempo de espera en espera de una recopilación completa

Devoluciones

El estado de una notificación de GC completa registrada

Se aplica a