GC.WaitForFullGCComplete Método

Definição

Devolve o estado de uma notificação registada para determinar se uma recolha de lixo completa e bloqueante pelo runtime de linguagem comum foi concluída.

Sobrecargas

Name Description
WaitForFullGCComplete()

Devolve o estado de uma notificação registada para determinar se uma recolha de lixo completa e bloqueante pelo runtime de linguagem comum foi concluída.

WaitForFullGCComplete(Int32)

Devolve, num período de tempo especificado, o estado de uma notificação registada para determinar se uma recolha de lixo completa, bloqueando por linguagem comum que o runtime foi concluída.

WaitForFullGCComplete(TimeSpan)

Devolve o estado de uma notificação registada sobre se a recolha de lixo bloqueada foi concluída. Posso esperar indefinidamente por uma coleção completa.

WaitForFullGCComplete()

Origem:
GC.CoreCLR.cs
Origem:
GC.CoreCLR.cs
Origem:
GC.CoreCLR.cs
Origem:
GC.CoreCLR.cs
Origem:
GC.CoreCLR.cs

Devolve o estado de uma notificação registada para determinar se uma recolha de lixo completa e bloqueante pelo runtime de linguagem comum foi concluída.

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

Devoluções

O estado da notificação registada de recolha de lixo.

Atributos

Exemplos

O exemplo seguinte mostra como usar este método para determinar se uma recolha completa de lixo foi concluída. Sempre que o estado da notificação é Succeeded, o método OnFullGCCompletedNotify do utilizador é chamado para realizar ações em resposta à coleção concluída. Este exemplo de código faz parte de um exemplo mais amplo fornecido para o tópico de Notificações de Recolha de Lixo .

// 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

Observações

Use a GCNotificationStatus enumeração devolvida por este método para determinar o estado da notificação atual de recolha de lixo que foi registada através do RegisterForFullGCNotification método. Também pode usar o WaitForFullGCApproach método para determinar se uma recolha total de lixo é iminente.

Quando a enumeração devolver Succeeded, pode realizar tarefas como retomar o trabalho e obter uma contagem de coleções com o CollectionCount(Int32) método.

Este método espera indefinidamente pela notificação de recolha do lixo. Se quiser especificar um período de tempo para o método regressar caso a notificação não possa ser obtida, use o GC.WaitForFullGCApproach(Int32) método overload. Se chamar este método sem especificar um time-out, pode chamá-lo CancelFullGCNotification se estiver a esperar mais do que o preferido.

Esta chamada de método deve ser precedida por uma chamada ao WaitForFullGCApproach método para garantir que teve uma recolha de lixo completa. Chamar este método sozinho pode produzir resultados indeterminados.

Ver também

Aplica-se a

WaitForFullGCComplete(Int32)

Origem:
GC.CoreCLR.cs
Origem:
GC.CoreCLR.cs
Origem:
GC.CoreCLR.cs
Origem:
GC.CoreCLR.cs
Origem:
GC.CoreCLR.cs

Devolve, num período de tempo especificado, o estado de uma notificação registada para determinar se uma recolha de lixo completa, bloqueando por linguagem comum que o runtime foi concluída.

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

O tempo de espera antes de poder obter o estado da notificação. Especifique -1 esperar indefinidamente.

Devoluções

O estado da notificação registada de recolha de lixo.

Atributos

Exceções

millisecondsTimeout deve ser ou não negativo ou menor ou igual a Int32.MaxValue ou -1.

Observações

Use a GCNotificationStatus enumeração devolvida por este método para determinar o estado da notificação atual de recolha de lixo que foi registada através do RegisterForFullGCNotification método. Também pode usar o WaitForFullGCApproach método para determinar se uma recolha total de lixo é iminente.

Note que este método retorna imediatamente sempre que o estado de notificação de recolha de lixo é obtido, independentemente do valor especificado por millisecondsTimeout. Se o estado da notificação de recolha de lixo não for obtido antes millisecondsTimeout do timeout timetime, este método devolve NotApplicable.

Quando a enumeração devolver Succeeded, pode realizar tarefas como retomar o trabalho e obter uma contagem de coleções com a CollectionCount(Int32) propriedade.

Pode chamar o CancelFullGCNotification método quando não conseguir esperar que o período de tempo expire.

Esta chamada de método deve ser precedida por uma chamada ao WaitForFullGCApproach método para garantir que teve uma recolha de lixo completa. Chamar este método sozinho pode produzir resultados indeterminados.

Ver também

Aplica-se a

WaitForFullGCComplete(TimeSpan)

Origem:
GC.cs
Origem:
GC.cs
Origem:
GC.cs
Origem:
GC.cs
Origem:
GC.cs

Devolve o estado de uma notificação registada sobre se a recolha de lixo bloqueada foi concluída. Posso esperar indefinidamente por uma coleção 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

O tempo para esperar por uma coleção completa

Devoluções

O estado de uma notificação completa de GC registada

Aplica-se a