GC.WaitForFullGCComplete Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Restituisce lo stato di una notifica registrata per determinare se una procedura completa di Garbage Collection bloccante è stata portata a termine da Common Language Runtime.
Overload
WaitForFullGCComplete() |
Restituisce lo stato di una notifica registrata per determinare se una procedura completa di Garbage Collection bloccante è stata portata a termine da Common Language Runtime. |
WaitForFullGCComplete(Int32) |
Restituisce, in un periodo di timeout specificato, lo stato di una notifica registrata per determinare se una procedura completa di Garbage Collection bloccante tramite Common Language Runtime sia stata completata. |
WaitForFullGCComplete(TimeSpan) |
Restituisce lo stato di una notifica registrata relativa al completamento di un'operazione di Garbage Collection di blocco. Può attendere per un periodo illimitato per una raccolta completa. |
WaitForFullGCComplete()
- Origine:
- GC.CoreCLR.cs
- Origine:
- GC.CoreCLR.cs
- Origine:
- GC.CoreCLR.cs
Restituisce lo stato di una notifica registrata per determinare se una procedura completa di Garbage Collection bloccante è stata portata a termine da 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
Restituisce
Stato della notifica dell'operazione di Garbage Collection registrata.
- Attributi
Esempio
Nell'esempio seguente viene illustrato come usare questo metodo per determinare se è stata completata un'operazione completa di Garbage Collection. Ogni volta che lo stato della notifica è Succeeded, viene chiamato il metodo OnFullGCCompletedNotify
utente per eseguire azioni in risposta alla raccolta completata. Questo esempio di codice fa parte di un esempio più ampio fornito per l'argomento Notifiche di Garbage Collection .
// 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
Commenti
Usare l'enumerazione GCNotificationStatus restituita da questo metodo per determinare lo stato della notifica di Garbage Collection corrente registrata tramite il RegisterForFullGCNotification metodo . È anche possibile usare il WaitForFullGCApproach metodo per determinare se un'operazione di Garbage Collection completa è imminente.
Quando l'enumerazione restituisce Succeeded, è possibile eseguire attività come riprendere il lavoro e ottenere un conteggio di raccolte con la CollectionCount proprietà .
Questo metodo attende per un periodo illimitato che venga ottenuta una notifica di Garbage Collection. Se si desidera specificare un periodo di timeout per il metodo da restituire se non è possibile ottenere la notifica, utilizzare l'overload del GC.WaitForFullGCApproach(Int32) metodo. Se si chiama questo metodo senza specificare un timeout, è possibile chiamare il CancelFullGCNotification metodo se si è in attesa più lungo del preferito.
Questa chiamata al metodo deve essere preceduta da una chiamata al WaitForFullGCApproach metodo per assicurarsi di disporre di un'operazione di Garbage Collection completa. La chiamata di questo metodo da solo può produrre risultati indeterminato.
Vedi anche
Si applica a
WaitForFullGCComplete(Int32)
- Origine:
- GC.CoreCLR.cs
- Origine:
- GC.CoreCLR.cs
- Origine:
- GC.CoreCLR.cs
Restituisce, in un periodo di timeout specificato, lo stato di una notifica registrata per determinare se una procedura completa di Garbage Collection bloccante tramite Common Language Runtime sia stata completata.
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
Parametri
- millisecondsTimeout
- Int32
Tempo di attesa prima di poter ottenere lo stato di una notifica. Specificare -1 per restare in attesa in modo indefinito.
Restituisce
Stato della notifica dell'operazione di Garbage Collection registrata.
- Attributi
Eccezioni
millisecondsTimeout
deve essere diverso da negativo o minore o uguale a Int32.MaxValue o -1.
Commenti
Usare l'enumerazione GCNotificationStatus restituita da questo metodo per determinare lo stato della notifica di Garbage Collection corrente registrata tramite il RegisterForFullGCNotification metodo . È anche possibile usare il WaitForFullGCApproach metodo per determinare se un'operazione di Garbage Collection completa è imminente.
Si noti che questo metodo restituisce immediatamente ogni volta che viene ottenuto uno stato di notifica di Garbage Collection, indipendentemente dal valore specificato da millisecondsTimeout
. Se uno stato di notifica di Garbage Collection non viene ottenuto prima millisecondsTimeout
del timeout, questo metodo restituisce NotApplicable.
Quando l'enumerazione restituisce Succeeded, è possibile eseguire attività come riprendere il lavoro e ottenere un conteggio di raccolte con la CollectionCount proprietà .
È possibile chiamare il CancelFullGCNotification metodo quando non è possibile attendere la scadenza del periodo di timeout.
Questa chiamata al metodo deve essere preceduta da una chiamata al WaitForFullGCApproach metodo per assicurarsi di disporre di un'operazione di Garbage Collection completa. La chiamata di questo metodo da solo può produrre risultati indeterminato.
Vedi anche
Si applica a
WaitForFullGCComplete(TimeSpan)
- Origine:
- GC.cs
- Origine:
- GC.cs
- Origine:
- GC.cs
Restituisce lo stato di una notifica registrata relativa al completamento di un'operazione di Garbage Collection di blocco. Può attendere per un periodo illimitato per una raccolta completa.
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
Parametri
- timeout
- TimeSpan
Timeout in attesa di una raccolta completa
Restituisce
Stato di una notifica GC completa registrata