GC.WaitForFullGCComplete Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vrátí stav registrovaného oznámení pro určení, zda bylo dokončeno úplné, blokující uvolňování paměti modulem CLR (Common Language Runtime).
Přetížení
WaitForFullGCComplete() |
Vrátí stav registrovaného oznámení pro určení, zda bylo dokončeno úplné, blokující uvolňování paměti modulem CLR (Common Language Runtime). |
WaitForFullGCComplete(Int32) |
Vrátí v zadaném časovém limitu stav registrovaného oznámení pro určení, zda bylo dokončeno úplné a blokující uvolňování paměti podle běžného jazyka modulu runtime. |
WaitForFullGCComplete(TimeSpan) |
Vrátí stav registrovaného oznámení o tom, jestli se dokončilo blokování uvolňování paměti. Může čekat neomezeně dlouho na úplnou kolekci. |
WaitForFullGCComplete()
- Zdroj:
- GC.CoreCLR.cs
- Zdroj:
- GC.CoreCLR.cs
- Zdroj:
- GC.CoreCLR.cs
Vrátí stav registrovaného oznámení pro určení, zda bylo dokončeno úplné, blokující uvolňování paměti modulem CLR (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
Návraty
Stav oznámení registrovaného uvolnění paměti.
- Atributy
Příklady
Následující příklad ukazuje, jak použít tuto metodu k určení, zda bylo dokončeno úplné uvolňování paměti. Pokaždé, když je Succeededstav oznámení , je volána metoda OnFullGCCompletedNotify
uživatele, která provádí akce v reakci na dokončenou kolekci. Tento příklad kódu je součástí většího příkladu pro téma Oznámení o uvolňování paměti .
// 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
Poznámky
Pomocí výčtu GCNotificationStatus vráceného touto metodou určete stav aktuálního oznámení o uvolňování paměti, které bylo zaregistrováno pomocí RegisterForFullGCNotification metody . Můžete také použít metodu WaitForFullGCApproach k určení, zda hrozí úplné uvolňování paměti.
Když výčet vrátí Succeeded, můžete provádět úlohy, jako je obnovení práce a získání počtu kolekcí CollectionCount pomocí vlastnosti .
Tato metoda čeká po neomezenou dobu na získání oznámení o uvolňování paměti. Chcete-li zadat časový limit pro metodu vrátit, pokud nelze získat oznámení, použijte GC.WaitForFullGCApproach(Int32) přetížení metody. Pokud tuto metodu voláte bez zadání časového limitu, můžete metodu CancelFullGCNotification volat, pokud čekáte déle, než je upřednostňované.
Tomuto volání metody by mělo předcházet volání WaitForFullGCApproach metody , aby se zajistilo úplné uvolňování paměti. Volání samotné této metody může vytvořit neurčité výsledky.
Viz také
Platí pro
WaitForFullGCComplete(Int32)
- Zdroj:
- GC.CoreCLR.cs
- Zdroj:
- GC.CoreCLR.cs
- Zdroj:
- GC.CoreCLR.cs
Vrátí v zadaném časovém limitu stav registrovaného oznámení pro určení, zda bylo dokončeno úplné a blokující uvolňování paměti podle běžného jazyka modulu runtime.
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
Doba čekání, než bude možné získat stav oznámení. Pokud chcete čekat neomezeně dlouho, zadejte -1.
Návraty
Stav oznámení registrovaného uvolnění paměti.
- Atributy
Výjimky
millisecondsTimeout
Musí být nezáporná nebo menší nebo rovna hodnotě Int32.MaxValue nebo -1.
Poznámky
Pomocí výčtu GCNotificationStatus vráceného touto metodou určete stav aktuálního oznámení o uvolňování paměti, které bylo zaregistrováno pomocí RegisterForFullGCNotification metody . Můžete také použít metodu WaitForFullGCApproach k určení, zda hrozí úplné uvolňování paměti.
Všimněte si, že tato metoda vrátí okamžitě při každém získání stavu oznámení o uvolňování paměti bez ohledu na hodnotu určenou parametrem millisecondsTimeout
. Pokud není získán stav oznámení o uvolňování paměti před millisecondsTimeout
vypršením časového limitu, vrátí NotApplicabletato metoda .
Když výčet vrátí Succeeded, můžete provádět úlohy, jako je obnovení práce a získání počtu kolekcí CollectionCount pomocí vlastnosti .
Pokud nemůžete čekat na uplynutí časového limitu, můžete volat CancelFullGCNotification metodu .
Tomuto volání metody by mělo předcházet volání WaitForFullGCApproach metody , aby se zajistilo úplné uvolňování paměti. Volání samotné této metody může vytvořit neurčité výsledky.
Viz také
Platí pro
WaitForFullGCComplete(TimeSpan)
- Zdroj:
- GC.cs
- Zdroj:
- GC.cs
- Zdroj:
- GC.cs
Vrátí stav registrovaného oznámení o tom, jestli se dokončilo blokování uvolňování paměti. Může čekat neomezeně dlouho na úplnou kolekci.
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
Vypršení časového limitu při čekání na úplnou kolekci
Návraty
Stav registrovaného úplného oznámení uvolňování paměti