GC.WaitForFullGCComplete Methode

Definition

Gibt den Status einer registrierten Benachrichtigung zurück, um zu bestimmen, ob eine vollständige blockierende Garbage Collection durch die Common Language Runtime abgeschlossen wurde.

Überlädt

WaitForFullGCComplete()

Gibt den Status einer registrierten Benachrichtigung zurück, um zu bestimmen, ob eine vollständige blockierende Garbage Collection durch die Common Language Runtime abgeschlossen wurde.

WaitForFullGCComplete(Int32)

Gibt innerhalb einer angegebenen Timeoutspanne den Status einer registrierten Benachrichtigung zurück, um zu bestimmen, ob eine vollständige blockierende Garbage Collection durch die Common Language Runtime abgeschlossen wurde.

WaitForFullGCComplete()

Gibt den Status einer registrierten Benachrichtigung zurück, um zu bestimmen, ob eine vollständige blockierende Garbage Collection durch die Common Language Runtime abgeschlossen wurde.

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

Gibt zurück

GCNotificationStatus

Der Status der registrierten Garbage Collection-Benachrichtigung.

Attribute

Beispiele

Das folgende Beispiel zeigt, wie Sie diese Methode verwenden, um zu bestimmen, ob eine vollständige Garbage Collection abgeschlossen wurde. Wenn der Status der Benachrichtigung lautet Succeeded, wird die Benutzermethode OnFullGCCompletedNotify aufgerufen, um Aktionen als Reaktion auf die abgeschlossene Auflistung auszuführen. Dieses Codebeispiel ist Teil eines größeren Beispiels, das für Garbage Collection Notifications thema bereitgestellt wird.

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

Hinweise

Verwenden Sie die GCNotificationStatus von dieser Methode zurückgegebene Aufzählung, um den Status der aktuellen Garbage Collection-Benachrichtigung zu ermitteln, die mithilfe der RegisterForFullGCNotification Methode registriert wurde. Sie können die WaitForFullGCApproach Methode auch verwenden, um zu bestimmen, ob eine vollständige Garbage Collection unmittelbar bevorsteht.

Wenn die Enumeration zurückgegeben Succeededwird, können Sie Aufgaben ausführen, z. B. die Arbeit fortsetzen und eine Sammlungsanzahl mit der CollectionCount Eigenschaft abrufen.

Diese Methode wartet auf unbestimmte Zeit, bis eine Garbage Collection-Benachrichtigung abgerufen wird. Wenn Sie einen Timeoutzeitraum für die Methode angeben möchten, die zurückgegeben werden soll, wenn die Benachrichtigung nicht abgerufen werden kann, verwenden Sie die GC.WaitForFullGCApproach(Int32) Methodenüberladung. Wenn Sie diese Methode ohne Angabe eines Timeouts aufrufen, können Sie die CancelFullGCNotification Methode aufrufen, wenn Sie länger als bevorzugt warten.

Dieser Methodenaufruf sollte einem Aufruf der WaitForFullGCApproach Methode vorangestellt werden, um sicherzustellen, dass Sie über eine vollständige Garbage Collection verfügen. Das Aufrufen dieser Methode allein kann unbestimmte Ergebnisse erzeugen.

Siehe auch

Gilt für:

WaitForFullGCComplete(Int32)

Gibt innerhalb einer angegebenen Timeoutspanne den Status einer registrierten Benachrichtigung zurück, um zu bestimmen, ob eine vollständige blockierende Garbage Collection durch die Common Language Runtime abgeschlossen wurde.

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

Parameter

millisecondsTimeout
Int32

Die Dauer der Wartezeit, bevor ein Benachrichtigungsstatus abgerufen werden kann. Geben Sie -1 an, um unbegrenzt zu warten.

Gibt zurück

GCNotificationStatus

Der Status der registrierten Garbage Collection-Benachrichtigung.

Attribute

Ausnahmen

millisecondsTimeout muss entweder nicht negativ bzw. kleiner oder gleich MaxValue oder -1 sein.

Hinweise

Verwenden Sie die GCNotificationStatus von dieser Methode zurückgegebene Aufzählung, um den Status der aktuellen Garbage Collection-Benachrichtigung zu ermitteln, die mithilfe der RegisterForFullGCNotification Methode registriert wurde. Sie können die WaitForFullGCApproach Methode auch verwenden, um zu bestimmen, ob eine vollständige Garbage Collection unmittelbar bevorsteht.

Beachten Sie, dass diese Methode sofort zurückgibt, wenn ein Garbage Collection-Benachrichtigungsstatus abgerufen wird, unabhängig vom durch .millisecondsTimeout Wenn ein Status der Garbage Collection-Benachrichtigung vor millisecondsTimeout dem Auschecken nicht abgerufen wird, gibt diese Methode zurück NotApplicable.

Wenn die Enumeration zurückgegeben Succeededwird, können Sie Aufgaben ausführen, z. B. die Arbeit fortsetzen und eine Sammlungsanzahl mit der CollectionCount Eigenschaft abrufen.

Sie können die CancelFullGCNotification Methode aufrufen, wenn Sie nicht warten können, bis der Timeoutzeitraum abgelaufen ist.

Dieser Methodenaufruf sollte einem Aufruf der WaitForFullGCApproach Methode vorangestellt werden, um sicherzustellen, dass Sie über eine vollständige Garbage Collection verfügen. Das Aufrufen dieser Methode allein kann unbestimmte Ergebnisse erzeugen.

Siehe auch

Gilt für: