GC.WaitForFullGCComplete Metodo

Definizione

Restituisce lo stato di una notifica registrata per determinare se una procedura completa di Garbage Collection bloccante è stata portata a termine da Common Language Runtime.

Overload

WaitForFullGCComplete()

Restituisce lo stato di una notifica registrata per determinare se una procedura completa di Garbage Collection bloccante è stata portata a termine da Common Language Runtime.

WaitForFullGCComplete(Int32)

Restituisce, in un periodo di timeout specificato, lo stato di una notifica registrata per determinare se una procedura completa di Garbage Collection bloccante tramite Common Language Runtime sia stata completata.

WaitForFullGCComplete(TimeSpan)

Restituisce lo stato di una notifica registrata relativa al completamento di un'operazione di Garbage Collection di blocco. Può attendere per un periodo illimitato per una raccolta completa.

WaitForFullGCComplete()

Origine:
GC.CoreCLR.cs
Origine:
GC.CoreCLR.cs
Origine:
GC.CoreCLR.cs

Restituisce lo stato di una notifica registrata per determinare se una procedura completa di Garbage Collection bloccante è stata portata a termine da 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

Restituisce

Stato della notifica dell'operazione di Garbage Collection registrata.

Attributi

Esempio

Nell'esempio seguente viene illustrato come usare questo metodo per determinare se è stata completata un'operazione completa di Garbage Collection. Ogni volta che lo stato della notifica è Succeeded, viene chiamato il metodo OnFullGCCompletedNotify utente per eseguire azioni in risposta alla raccolta completata. Questo esempio di codice fa parte di un esempio più ampio fornito per l'argomento Notifiche di Garbage Collection .

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

Commenti

Usare l'enumerazione GCNotificationStatus restituita da questo metodo per determinare lo stato della notifica di Garbage Collection corrente registrata tramite il RegisterForFullGCNotification metodo . È anche possibile usare il WaitForFullGCApproach metodo per determinare se un'operazione di Garbage Collection completa è imminente.

Quando l'enumerazione restituisce Succeeded, è possibile eseguire attività come riprendere il lavoro e ottenere un conteggio di raccolte con la CollectionCount proprietà .

Questo metodo attende per un periodo illimitato che venga ottenuta una notifica di Garbage Collection. Se si desidera specificare un periodo di timeout per il metodo da restituire se non è possibile ottenere la notifica, utilizzare l'overload del GC.WaitForFullGCApproach(Int32) metodo. Se si chiama questo metodo senza specificare un timeout, è possibile chiamare il CancelFullGCNotification metodo se si è in attesa più lungo del preferito.

Questa chiamata al metodo deve essere preceduta da una chiamata al WaitForFullGCApproach metodo per assicurarsi di disporre di un'operazione di Garbage Collection completa. La chiamata di questo metodo da solo può produrre risultati indeterminato.

Vedi anche

Si applica a

WaitForFullGCComplete(Int32)

Origine:
GC.CoreCLR.cs
Origine:
GC.CoreCLR.cs
Origine:
GC.CoreCLR.cs

Restituisce, in un periodo di timeout specificato, lo stato di una notifica registrata per determinare se una procedura completa di Garbage Collection bloccante tramite Common Language Runtime sia stata completata.

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

Parametri

millisecondsTimeout
Int32

Tempo di attesa prima di poter ottenere lo stato di una notifica. Specificare -1 per restare in attesa in modo indefinito.

Restituisce

Stato della notifica dell'operazione di Garbage Collection registrata.

Attributi

Eccezioni

millisecondsTimeout deve essere diverso da negativo o minore o uguale a Int32.MaxValue o -1.

Commenti

Usare l'enumerazione GCNotificationStatus restituita da questo metodo per determinare lo stato della notifica di Garbage Collection corrente registrata tramite il RegisterForFullGCNotification metodo . È anche possibile usare il WaitForFullGCApproach metodo per determinare se un'operazione di Garbage Collection completa è imminente.

Si noti che questo metodo restituisce immediatamente ogni volta che viene ottenuto uno stato di notifica di Garbage Collection, indipendentemente dal valore specificato da millisecondsTimeout. Se uno stato di notifica di Garbage Collection non viene ottenuto prima millisecondsTimeout del timeout, questo metodo restituisce NotApplicable.

Quando l'enumerazione restituisce Succeeded, è possibile eseguire attività come riprendere il lavoro e ottenere un conteggio di raccolte con la CollectionCount proprietà .

È possibile chiamare il CancelFullGCNotification metodo quando non è possibile attendere la scadenza del periodo di timeout.

Questa chiamata al metodo deve essere preceduta da una chiamata al WaitForFullGCApproach metodo per assicurarsi di disporre di un'operazione di Garbage Collection completa. La chiamata di questo metodo da solo può produrre risultati indeterminato.

Vedi anche

Si applica a

WaitForFullGCComplete(TimeSpan)

Origine:
GC.cs
Origine:
GC.cs
Origine:
GC.cs

Restituisce lo stato di una notifica registrata relativa al completamento di un'operazione di Garbage Collection di blocco. Può attendere per un periodo illimitato per una raccolta 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

Parametri

timeout
TimeSpan

Timeout in attesa di una raccolta completa

Restituisce

Stato di una notifica GC completa registrata

Si applica a