GC.WaitForFullGCComplete Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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