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í, jestli se dokončilo úplné blokování uvolňování paměti modulem CLR (Common Language Runtime).
Přetížení
| Name | Description |
|---|---|
| WaitForFullGCComplete() |
Vrátí stav registrovaného oznámení pro určení, jestli se dokončilo úplné blokování uvolňování paměti modulem CLR (Common Language Runtime). |
| WaitForFullGCComplete(Int32) |
Vrátí stav registrovaného oznámení v zadaném časovém limitu pro určení, jestli úplné blokování uvolňování paměti běžným jazykem, které modul runtime dokončil. |
| 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 na neomezenou dobu na úplnou kolekci. |
WaitForFullGCComplete()
- Zdroj:
- GC.CoreCLR.cs
- Zdroj:
- GC.CoreCLR.cs
- Zdroj:
- GC.CoreCLR.cs
- Zdroj:
- GC.CoreCLR.cs
- Zdroj:
- GC.CoreCLR.cs
Vrátí stav registrovaného oznámení pro určení, jestli se dokončilo úplné blokování 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 registrovaného oznámení o uvolňování paměti.
- Atributy
Příklady
Následující příklad ukazuje, jak použít tuto metodu k určení, zda je dokončena úplná uvolňování paměti. Kdykoli je Succeededstav oznámení , je volána metoda OnFullGCCompletedNotify uživatele k provádění akcí v reakci na dokončenou kolekci. Tento příklad kódu je součástí většího příkladu určeného pro téma Oznámení o uvolňování paměti .
// 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í uvolňování paměti, které bylo registrováno pomocí RegisterForFullGCNotification metody. Můžete také použít metodu WaitForFullGCApproach k určení, zda úplné uvolňování paměti je bezprostřední.
Když se výčet vrátí Succeeded, můžete provádět úlohy, jako je obnovení práce a získání počtu kolekcí s metodou CollectionCount(Int32) .
Tato metoda čeká na získání oznámení uvolňování paměti na neomezenou dobu. 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 zavoláte bez zadání časového limitu, můžete metodu CancelFullGCNotification volat, pokud čekáte déle, než je upřednostňované.
Toto volání metody by se mělo předcházet voláním WaitForFullGCApproach metody, abyste měli jistotu, že máte úplnou uvolňování paměti. Volání 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
- Zdroj:
- GC.CoreCLR.cs
- Zdroj:
- GC.CoreCLR.cs
Vrátí stav registrovaného oznámení v zadaném časovém limitu pro určení, jestli úplné blokování uvolňování paměti běžným jazykem, které modul runtime dokončil.
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í před získáním stavu oznámení. Zadejte -1 k čekání na neomezenou dobu.
Návraty
Stav registrovaného oznámení o uvolňování paměti.
- Atributy
Výjimky
millisecondsTimeout musí být buď 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í uvolňování paměti, které bylo registrováno pomocí RegisterForFullGCNotification metody. Můžete také použít metodu WaitForFullGCApproach k určení, zda úplné uvolňování paměti je bezprostřední.
Všimněte si, že tato metoda vrátí okamžitě pokaždé, když se získá stav oznámení uvolňování paměti bez ohledu na hodnotu určenou millisecondsTimeout. Pokud stav oznámení uvolňování paměti není získán před millisecondsTimeout časovým limitem, tato metoda vrátí NotApplicable.
Při vrácení Succeededvýčtu můžete provádět úlohy, jako je obnovení práce a získání počtu kolekcí s CollectionCount(Int32) vlastností.
Metodu CancelFullGCNotification můžete volat, když nemůžete čekat na uplynutí časového limitu.
Toto volání metody by se mělo předcházet voláním WaitForFullGCApproach metody, abyste měli jistotu, že máte úplnou uvolňování paměti. Volání 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
- 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 na neomezenou dobu 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
Časový limit při čekání na úplnou kolekci
Návraty
Stav registrovaného úplného oznámení o uvolňování paměti