GC.WaitForFullGCApproach Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Devuelve el estado de una notificación registrada para determinar si una recolección de elementos no utilizados de bloqueo completa por Common Language Runtime es inminente.
Sobrecargas
| Nombre | Description |
|---|---|
| WaitForFullGCApproach() |
Devuelve el estado de una notificación registrada para determinar si una recolección de elementos no utilizados de bloqueo completa por Common Language Runtime es inminente. |
| WaitForFullGCApproach(Int32) |
Devuelve, en un período de tiempo de espera especificado, el estado de una notificación registrada para determinar si una recolección de elementos no utilizados de bloqueo completa por Common Language Runtime es inminente. |
| WaitForFullGCApproach(TimeSpan) |
Devuelve, en un período de tiempo de espera especificado, el estado de una notificación registrada para determinar si una recolección de elementos no utilizados de bloqueo completa por Common Language Runtime es inminente. |
WaitForFullGCApproach()
- Source:
- GC.CoreCLR.cs
- Source:
- GC.CoreCLR.cs
- Source:
- GC.CoreCLR.cs
- Source:
- GC.CoreCLR.cs
- Source:
- GC.CoreCLR.cs
Devuelve el estado de una notificación registrada para determinar si una recolección de elementos no utilizados de bloqueo completa por Common Language Runtime es inminente.
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
Estado de la notificación de recolección de elementos no utilizados registrado.
- Atributos
Ejemplos
En el ejemplo siguiente se muestra cómo usar este método para determinar si se aproxima una recolección de elementos no utilizados de bloqueo completa. Siempre que el estado de la notificación sea Succeeded, se llama al método OnFullGCApproachNotify user para realizar acciones en respuesta a la colección que se aproxima. 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 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.
match GC.WaitForFullGCApproach() with
| GCNotificationStatus.Succeeded ->
printfn "GC Notification raised."
onFullGCApproachNotify ()
// 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
| GCNotificationStatus.Canceled ->
printfn "GC Notification cancelled."
broken <- true
| _ ->
// This can occur if a timeout period
// is specified for WaitForFullGCApproach(Timeout)
// or WaitForFullGCComplete(Timeout)
// and the time out period has elapsed.
printfn "GC Notification not applicable."
broken <- true
' 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 . También puede usar el WaitForFullGCComplete método para determinar si se ha completado la recolección completa de elementos no utilizados.
Cuando la enumeración devuelve Succeeded, puede realizar tareas como impedir que se asignen objetos adicionales e inducir una colección usted mismo con el Collect método . Tenga en cuenta que la notificación no garantiza que se produzca una recolección completa de elementos no utilizados, solo que las condiciones han alcanzado el umbral que son favorables para que se produzca una recolección completa de elementos no utilizados.
Este método espera indefinidamente 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.
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. Llamar solo a este método provoca resultados indeterminados.
Consulte también
Se aplica a
WaitForFullGCApproach(Int32)
- Source:
- GC.CoreCLR.cs
- Source:
- GC.CoreCLR.cs
- Source:
- GC.CoreCLR.cs
- Source:
- GC.CoreCLR.cs
- Source:
- GC.CoreCLR.cs
Devuelve, en un período de tiempo de espera especificado, el estado de una notificación registrada para determinar si una recolección de elementos no utilizados de bloqueo completa por Common Language Runtime es inminente.
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
Período de tiempo de espera antes de que se pueda obtener un estado de notificación. Especifique -1 esperar indefinidamente.
Devoluciones
Estado de la notificación de recolección de elementos no utilizados registrado.
- Atributos
Excepciones
millisecondsTimeout debe ser no negativo o menor o igual que Int32.MaxValue o -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 . También puede usar el WaitForFullGCComplete método para determinar si se ha completado la recolección completa de elementos no utilizados.
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 impedir que se asignen objetos adicionales e inducir una colección usted mismo con el Collect método . Tenga en cuenta que la notificación no garantiza que se produzca una recolección completa de elementos no utilizados, solo que las condiciones han alcanzado el umbral que son favorables para que se produzca una recolección completa de elementos no utilizados.
Puede llamar al CancelFullGCNotification método cuando no puede esperar a que transcurre el período de tiempo de espera.
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. Llamar solo a este método provoca resultados indeterminados.
Consulte también
Se aplica a
WaitForFullGCApproach(TimeSpan)
- Source:
- GC.cs
- Source:
- GC.cs
- Source:
- GC.cs
- Source:
- GC.cs
- Source:
- GC.cs
Devuelve, en un período de tiempo de espera especificado, el estado de una notificación registrada para determinar si una recolección de elementos no utilizados de bloqueo completa por Common Language Runtime es inminente.
public:
static GCNotificationStatus WaitForFullGCApproach(TimeSpan timeout);
public static GCNotificationStatus WaitForFullGCApproach(TimeSpan timeout);
static member WaitForFullGCApproach : TimeSpan -> GCNotificationStatus
Public Shared Function WaitForFullGCApproach (timeout As TimeSpan) As GCNotificationStatus
Parámetros
- timeout
- TimeSpan
Tiempo de espera en espera de un enfoque de GC completo
Devoluciones
El estado de una notificación de GC completa registrada