GC.WaitForFullGCComplete Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Zwraca stan zarejestrowanego powiadomienia w celu określenia, czy ukończono pełne blokowanie odzyskiwania pamięci przez środowisko uruchomieniowe języka wspólnego.
Przeciążenia
WaitForFullGCComplete() |
Zwraca stan zarejestrowanego powiadomienia w celu określenia, czy ukończono pełne blokowanie odzyskiwania pamięci przez środowisko uruchomieniowe języka wspólnego. |
WaitForFullGCComplete(Int32) |
Zwraca w określonym przedziale czasu stan zarejestrowanego powiadomienia w celu określenia, czy pełne blokowanie odzyskiwania pamięci przez język wspólny zostało ukończone. |
WaitForFullGCComplete(TimeSpan) |
Zwraca stan zarejestrowanego powiadomienia o tym, czy blokowanie odzyskiwania pamięci zostało zakończone. Może czekać bezterminowo na pełną kolekcję. |
WaitForFullGCComplete()
- Źródło:
- GC.CoreCLR.cs
- Źródło:
- GC.CoreCLR.cs
- Źródło:
- GC.CoreCLR.cs
Zwraca stan zarejestrowanego powiadomienia w celu określenia, czy ukończono pełne blokowanie odzyskiwania pamięci przez środowisko uruchomieniowe języka wspólnego.
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
Zwraca
Stan zarejestrowanego powiadomienia o wyrzucaniu elementów bezużytecznych.
- Atrybuty
Przykłady
W poniższym przykładzie pokazano, jak za pomocą tej metody określić, czy ukończono pełne odzyskiwanie pamięci. Za każdym razem, gdy stan powiadomienia to Succeeded, metoda OnFullGCCompletedNotify
użytkownika jest wywoływana w celu wykonania akcji w odpowiedzi na ukończoną kolekcję. Ten przykład kodu jest częścią większego przykładu przedstawionego w temacie Powiadomienia dotyczące odzyskiwania pamięci .
// 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
Uwagi
GCNotificationStatus Użyj wyliczenia zwróconego przez tę metodę, aby określić stan bieżącego powiadomienia odzyskiwania pamięci, które zostało zarejestrowane przy użyciu RegisterForFullGCNotification metody . Można również użyć WaitForFullGCApproach metody , aby określić, czy pełne odzyskiwanie pamięci jest nieuchronne.
Gdy wyliczenie zwraca Succeededwartość , można wykonywać zadania, takie jak wznawianie pracy i uzyskiwanie liczby kolekcji z właściwością CollectionCount .
Ta metoda czeka na uzyskanie powiadomienia o odśmieceniu pamięci przez czas nieokreślony. Jeśli chcesz określić limit czasu dla metody, która ma zostać zwrócona, jeśli nie można uzyskać powiadomienia, użyj GC.WaitForFullGCApproach(Int32) przeciążenia metody. Jeśli wywołasz tę metodę bez określenia limitu czasu, możesz wywołać CancelFullGCNotification metodę, jeśli czekasz dłużej niż preferowano.
To wywołanie metody powinno być poprzedzone wywołaniem WaitForFullGCApproach metody, aby upewnić się, że masz pełne odzyskiwanie pamięci. Wywołanie tej samej metody może spowodować nieokreślone wyniki.
Zobacz też
Dotyczy
WaitForFullGCComplete(Int32)
- Źródło:
- GC.CoreCLR.cs
- Źródło:
- GC.CoreCLR.cs
- Źródło:
- GC.CoreCLR.cs
Zwraca w określonym przedziale czasu stan zarejestrowanego powiadomienia w celu określenia, czy pełne blokowanie odzyskiwania pamięci przez język wspólny zostało ukończone.
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
Parametry
- millisecondsTimeout
- Int32
Czas oczekiwania przed uzyskaniem stanu powiadomienia. Określ wartość -1, aby czekać na czas nieokreślony.
Zwraca
Stan zarejestrowanego powiadomienia o wyrzucaniu elementów bezużytecznych.
- Atrybuty
Wyjątki
millisecondsTimeout
wartość musi być nie ujemna lub mniejsza niż lub równa int32.MaxValue lub -1.
Uwagi
GCNotificationStatus Użyj wyliczenia zwróconego przez tę metodę, aby określić stan bieżącego powiadomienia odzyskiwania pamięci, które zostało zarejestrowane przy użyciu RegisterForFullGCNotification metody . Można również użyć WaitForFullGCApproach metody , aby określić, czy pełne odzyskiwanie pamięci jest nieuchronne.
Należy pamiętać, że ta metoda jest zwracana natychmiast za każdym razem, gdy zostanie uzyskany stan powiadomienia o odśmieceniu pamięci, niezależnie od wartości określonej przez millisecondsTimeout
. Jeśli stan powiadomienia odzyskiwania pamięci nie zostanie uzyskany przed millisecondsTimeout
upływem limitu czasu, ta metoda zwraca wartość NotApplicable.
Gdy wyliczenie zwraca Succeededwartość , można wykonywać zadania, takie jak wznawianie pracy i uzyskiwanie liczby kolekcji z właściwością CollectionCount .
Możesz wywołać metodę CancelFullGCNotification , gdy nie można poczekać na upłynięcie limitu czasu.
To wywołanie metody powinno być poprzedzone wywołaniem WaitForFullGCApproach metody, aby upewnić się, że masz pełne odzyskiwanie pamięci. Wywołanie tej samej metody może spowodować nieokreślone wyniki.
Zobacz też
Dotyczy
WaitForFullGCComplete(TimeSpan)
- Źródło:
- GC.cs
- Źródło:
- GC.cs
- Źródło:
- GC.cs
Zwraca stan zarejestrowanego powiadomienia o tym, czy blokowanie odzyskiwania pamięci zostało zakończone. Może czekać bezterminowo na pełną kolekcję.
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
Parametry
- timeout
- TimeSpan
Limit czasu oczekiwania na pełną kolekcję
Zwraca
Stan zarejestrowanego pełnego powiadomienia GC