GC.WaitForFullGCComplete Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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(TimeSpan) |
Gibt die status einer registrierten Benachrichtigung zurück, ob eine blockierende Garbage Collection abgeschlossen wurde. Kann unbegrenzt auf eine vollständige Sammlung warten. |
WaitForFullGCComplete()
- Quelle:
- GC.CoreCLR.cs
- Quelle:
- GC.CoreCLR.cs
- Quelle:
- GC.CoreCLR.cs
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
Der Status der registrierten Garbage Collection-Benachrichtigung.
- Attribute
Beispiele
Im folgenden Beispiel wird gezeigt, wie Sie mit dieser Methode ermitteln, ob eine vollständige Garbage Collection abgeschlossen wurde. Wenn der status der Benachrichtigung istSucceeded, wird die Benutzermethode OnFullGCCompletedNotify
aufgerufen, um Aktionen als Reaktion auf die abgeschlossene Auflistung auszuführen. Dieses Codebeispiel ist Teil eines größeren Beispiels für Garbage Collection-Benachrichtigungen .
// 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 Enumeration, um den status der aktuellen Garbage Collection-Benachrichtigung zu ermitteln, die mit der RegisterForFullGCNotification -Methode registriert wurde. Sie können auch die WaitForFullGCApproach -Methode verwenden, um zu bestimmen, ob eine vollständige Garbage Collection bevorsteht.
Wenn die Enumeration zurückgibt Succeeded, können Sie Aufgaben ausführen, z. B. die Fortsetzung der Arbeit und das Abrufen einer Sammlungsanzahl mit der CollectionCount -Eigenschaft.
Diese Methode wartet unbegrenzt, 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 aufrufen, ohne ein Timeout anzugeben, können Sie die CancelFullGCNotification Methode aufrufen, wenn Sie länger als bevorzugt warten.
Diesem Methodenaufruf sollte ein Aufruf der WaitForFullGCApproach -Methode vorangestellt werden, um sicherzustellen, dass Sie über eine vollständige Garbage Collection verfügen. Das alleinige Aufrufen dieser Methode kann zu unbestimmten Ergebnissen führen.
Weitere Informationen
Gilt für:
WaitForFullGCComplete(Int32)
- Quelle:
- GC.CoreCLR.cs
- Quelle:
- GC.CoreCLR.cs
- Quelle:
- GC.CoreCLR.cs
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
Der Status der registrierten Garbage Collection-Benachrichtigung.
- Attribute
Ausnahmen
millisecondsTimeout
muss entweder nicht negativ oder kleiner als oder gleich Int32.MaxValue oder -1 sein.
Hinweise
Verwenden Sie die GCNotificationStatus von dieser Methode zurückgegebene Enumeration, um den status der aktuellen Garbage Collection-Benachrichtigung zu ermitteln, die mit der RegisterForFullGCNotification -Methode registriert wurde. Sie können auch die WaitForFullGCApproach -Methode verwenden, um zu bestimmen, ob eine vollständige Garbage Collection bevorsteht.
Beachten Sie, dass diese Methode sofort zurückgibt, wenn eine Garbage Collection-Benachrichtigung status abgerufen wird, unabhängig vom durch millisecondsTimeout
angegebenen Wert. Wenn eine Garbage Collection-Benachrichtigung status nicht abgerufen wird, bevor das millisecondsTimeout
Zeitüberschreitungsproblem aufgetreten ist, gibt diese Methode zurückNotApplicable.
Wenn die Enumeration zurückgibt Succeeded, können Sie Aufgaben ausführen, z. B. die Fortsetzung der Arbeit und das Abrufen einer Sammlungsanzahl mit der CollectionCount -Eigenschaft.
Sie können die CancelFullGCNotification -Methode aufrufen, wenn Sie nicht warten können, bis der Timeoutzeitraum abgelaufen ist.
Diesem Methodenaufruf sollte ein Aufruf der WaitForFullGCApproach -Methode vorangestellt werden, um sicherzustellen, dass Sie über eine vollständige Garbage Collection verfügen. Das alleinige Aufrufen dieser Methode kann zu unbestimmten Ergebnissen führen.
Weitere Informationen
Gilt für:
WaitForFullGCComplete(TimeSpan)
- Quelle:
- GC.cs
- Quelle:
- GC.cs
- Quelle:
- GC.cs
Gibt die status einer registrierten Benachrichtigung zurück, ob eine blockierende Garbage Collection abgeschlossen wurde. Kann unbegrenzt auf eine vollständige Sammlung warten.
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
Parameter
- timeout
- TimeSpan
Das Timeout beim Warten auf eine vollständige Sammlung
Gibt zurück
Die status einer registrierten vollständigen GC-Benachrichtigung