Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Enumerazione GCNotificationStatus

 

Fornisce informazioni sulla registrazione corrente per la notifica della successiva Garbage Collection completa.

Spazio dei nomi:   System
Assembly:  mscorlib (in mscorlib.dll)

[SerializableAttribute]
public enum GCNotificationStatus

Nome membroDescrizione
Canceled

La registrazione corrente è stata annullata dall'utente.

Failed

La notifica non è riuscita per qualsiasi motivo.

NotApplicable

Questo risultato può essere causato dalle condizioni seguenti: non esistono registrazioni correnti per una notifica di Garbage Collection, la Garbage Collection simultanea è abilitata o il tempo specificato per il parametro millisecondsTimeout è scaduto e non sono state ottenute notifiche di Garbage Collection. Vedere l'impostazione di runtime <gcConcurrent> per informazioni su come disabilitare la Garbage Collection simultanea.

Succeeded

La notifica è stata ricevuta con successo e la registrazione non è stata annullata.

Timeout

Il tempo specificato dal parametro millisecondsTimeout per GC.WaitForFullGCApproach(Int32) o GC.WaitForFullGCComplete(Int32) è trascorso.

Use the M:System.GC.RegisterForFullGCNotification(System.Int32,System.Int32) method to register for a full garbage collection notification. Then use the M:System.GC.WaitForFullGCApproach method or the M:System.GC.WaitForFullGCComplete method to return a T:System.GCNotificationStatus enumeration that contains the status of the notification.

The following example obtains a T:System.GCNotificationStatus enumeration from the M:System.GC.WaitForFullGCApproach method. If the enumeration returns F:System.GCNotificationStatus.Succeeded, it calls the custom method OnFullGCApproachNotify to perform actions in response to the approaching full garbage collection. This code example is part of a larger example provided for Garbage Collection Notifications topic.

public static void WaitForFullGCProc()
{
    while (true)
    {
        // CheckForNotify is set to true and false in Main.
        while (checkForNotify)
        {
            // Check for a notification of an approaching collection.
            GCNotificationStatus s = GC.WaitForFullGCApproach();
            if (s == GCNotificationStatus.Succeeded)
            {
                Console.WriteLine("GC Notification raised.");
                OnFullGCApproachNotify();
            }
            else if (s == GCNotificationStatus.Canceled)
            {
                Console.WriteLine("GC Notification cancelled.");
                break;
            }
            else
            {
                // This can occur if a timeout period
                // is specified for WaitForFullGCApproach(Timeout) 
                // or WaitForFullGCComplete(Timeout)  
                // and the time out period has elapsed. 
                Console.WriteLine("GC Notification not applicable.");
                break;
            }

            // Check for a notification of a completed collection.
            s = GC.WaitForFullGCComplete();
            if (s == GCNotificationStatus.Succeeded)
            {
                Console.WriteLine("GC Notifiction 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;
            }
        }


        Thread.Sleep(500);
        // FinalExit is set to true right before  
        // the main thread cancelled notification.
        if (finalExit)
        {
            break;
        }
    }

}

.NET Framework
Disponibile da 2.0
Torna all'inizio
Mostra: