GC.WaitForFullGCComplete Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Returnerar statusen för ett registrerat meddelande för att avgöra om en fullständig, blockerande skräpinsamling av den gemensamma språkkörningen har slutförts.
Överlagringar
| Name | Description |
|---|---|
| WaitForFullGCComplete() |
Returnerar statusen för ett registrerat meddelande för att avgöra om en fullständig, blockerande skräpinsamling av den gemensamma språkkörningen har slutförts. |
| WaitForFullGCComplete(Int32) |
Returnerar statusen för ett registrerat meddelande under en angiven tidsgräns för att avgöra om en fullständig, blockerande skräpinsamling efter vanligt språk som körningen har slutfört. |
WaitForFullGCComplete()
Returnerar statusen för ett registrerat meddelande för att avgöra om en fullständig, blockerande skräpinsamling av den gemensamma språkkörningen har slutförts.
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
Returer
Status för det registrerade skräpinsamlingsmeddelandet.
- Attribut
Exempel
I följande exempel visas hur du använder den här metoden för att avgöra om en fullständig skräpinsamling har slutförts. När statusen för meddelandet är Succeededanropas användarmetoden OnFullGCCompletedNotify för att utföra åtgärder som svar på den slutförda samlingen. Det här kodexemplet är en del av ett större exempel för avsnittet Skräpinsamlingsaviseringar .
// 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
Kommentarer
Använd uppräkningen GCNotificationStatus som returneras av den här metoden för att fastställa statusen för det aktuella skräpinsamlingsmeddelandet som registrerades med hjälp RegisterForFullGCNotification av metoden. Du kan också använda WaitForFullGCApproach metoden för att avgöra om en fullständig skräpinsamling är nära förestående.
När uppräkningen returnerar Succeededkan du utföra uppgifter som att återuppta arbetet och hämta ett samlingsantal med CollectionCount(Int32) metoden.
Den här metoden väntar på obestämd tid på att ett skräpinsamlingsmeddelande ska hämtas. Om du vill ange en tidsgräns för metoden som ska returneras om meddelandet inte kan hämtas använder du GC.WaitForFullGCApproach(Int32) metodens överbelastning. Om du anropar den här metoden utan att ange någon tidsgräns kan du anropa CancelFullGCNotification metoden om du väntar längre än vad du föredrar.
Det här metodanropet bör föregås av ett anrop till WaitForFullGCApproach metoden för att se till att du har haft en fullständig skräpinsamling. Att anropa den här metoden ensam kan ge obestämda resultat.
Se även
Gäller för
WaitForFullGCComplete(Int32)
Returnerar statusen för ett registrerat meddelande under en angiven tidsgräns för att avgöra om en fullständig, blockerande skräpinsamling efter vanligt språk som körningen har slutfört.
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
Parametrar
- millisecondsTimeout
- Int32
Hur lång tid det tar att vänta innan en meddelandestatus kan hämtas. Ange -1 att vänta på obestämd tid.
Returer
Status för det registrerade skräpinsamlingsmeddelandet.
- Attribut
Undantag
millisecondsTimeout måste vara antingen icke-negativ eller mindre än eller lika med Int32.MaxValue eller -1.
Kommentarer
Använd uppräkningen GCNotificationStatus som returneras av den här metoden för att fastställa statusen för det aktuella skräpinsamlingsmeddelandet som registrerades med hjälp RegisterForFullGCNotification av metoden. Du kan också använda WaitForFullGCApproach metoden för att avgöra om en fullständig skräpinsamling är nära förestående.
Observera att den här metoden returnerar omedelbart när en skräpinsamlingsmeddelandestatus hämtas, oavsett vilket värde som anges av millisecondsTimeout. Om en skräpinsamlingsmeddelandestatus inte hämtas innan millisecondsTimeout tidsgränsen uppnås returnerar NotApplicableden här metoden .
När uppräkningen returnerar Succeededkan du utföra uppgifter som att återuppta arbetet och hämta ett samlingsantal med CollectionCount(Int32) egenskapen .
Du kan anropa CancelFullGCNotification metoden när du inte kan vänta tills tidsgränsen har gått ut.
Det här metodanropet bör föregås av ett anrop till WaitForFullGCApproach metoden för att se till att du har haft en fullständig skräpinsamling. Att anropa den här metoden ensam kan ge obestämda resultat.