Partager via


GC.WaitForFullGCComplete Méthode

Définition

Retourne l'état d'une notification inscrite pour déterminer si un garbage collection de blocage complet par le Common Language Runtime est terminé.

Surcharges

WaitForFullGCComplete()

Retourne l'état d'une notification inscrite pour déterminer si un garbage collection de blocage complet par le Common Language Runtime est terminé.

WaitForFullGCComplete(Int32)

Retourne, dans le délai d'attente spécifié, l'état d'une notification inscrite pour déterminer si un garbage de collection de blocage complet par le Common Language Runtime est terminé.

WaitForFullGCComplete(TimeSpan)

Retourne le status d’une notification inscrite indiquant si un garbage collection bloquant est terminé. Peut attendre indéfiniment une collection complète.

WaitForFullGCComplete()

Source:
GC.CoreCLR.cs
Source:
GC.CoreCLR.cs
Source:
GC.CoreCLR.cs

Retourne l'état d'une notification inscrite pour déterminer si un garbage collection de blocage complet par le Common Language Runtime est terminé.

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

Retours

État de la notification de garbage collection inscrite.

Attributs

Exemples

L’exemple suivant montre comment utiliser cette méthode pour déterminer si un garbage collection complet est terminé. Chaque fois que le status de la notification est Succeeded, la méthode OnFullGCCompletedNotify utilisateur est appelée pour effectuer des actions en réponse à la collection terminée. Cet exemple de code fait partie d’un exemple plus large fourni pour la rubrique Notifications de 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

Remarques

Utilisez l’énumération GCNotificationStatus retournée par cette méthode pour déterminer la status de la notification de garbage collection actuelle qui a été enregistrée à l’aide de la RegisterForFullGCNotification méthode . Vous pouvez également utiliser la WaitForFullGCApproach méthode pour déterminer si un garbage collection complet est imminent.

Lorsque l’énumération retourne Succeeded, vous pouvez effectuer des tâches telles que la reprise du travail et l’obtention d’un nombre de collections avec la CollectionCount propriété .

Cette méthode attend indéfiniment qu’une notification de garbage collection soit obtenue. Si vous souhaitez spécifier un délai d’attente pour la méthode à retourner si la notification ne peut pas être obtenue, utilisez la surcharge de méthode GC.WaitForFullGCApproach(Int32) . Si vous appelez cette méthode sans spécifier de délai d’attente, vous pouvez appeler la CancelFullGCNotification méthode si vous attendez plus longtemps que vous le souhaitez.

Cet appel de méthode doit être précédé d’un appel à la WaitForFullGCApproach méthode pour vous assurer que vous avez eu un garbage collection complet. L’appel de cette méthode seul peut produire des résultats indéterminés.

Voir aussi

S’applique à

WaitForFullGCComplete(Int32)

Source:
GC.CoreCLR.cs
Source:
GC.CoreCLR.cs
Source:
GC.CoreCLR.cs

Retourne, dans le délai d'attente spécifié, l'état d'une notification inscrite pour déterminer si un garbage de collection de blocage complet par le Common Language Runtime est terminé.

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

Paramètres

millisecondsTimeout
Int32

Temps à attendre avant qu'un état de notification puisse être obtenu. Spécifiez -1 pour attendre indéfiniment.

Retours

État de la notification de garbage collection inscrite.

Attributs

Exceptions

millisecondsTimeout doit être non négatif ou inférieur ou égal à Int32.MaxValue ou -1.

Remarques

Utilisez l’énumération GCNotificationStatus retournée par cette méthode pour déterminer la status de la notification de garbage collection actuelle qui a été enregistrée à l’aide de la RegisterForFullGCNotification méthode . Vous pouvez également utiliser la WaitForFullGCApproach méthode pour déterminer si un garbage collection complet est imminent.

Notez que cette méthode retourne immédiatement chaque fois qu’une notification de garbage collection status est obtenue, quelle que soit la valeur spécifiée par millisecondsTimeout. Si une notification de garbage collection status n’est pas obtenue avant millisecondsTimeout l’expiration, cette méthode retourne NotApplicable.

Lorsque l’énumération retourne Succeeded, vous pouvez effectuer des tâches telles que la reprise du travail et l’obtention d’un nombre de collections avec la CollectionCount propriété .

Vous pouvez appeler la CancelFullGCNotification méthode lorsque vous ne pouvez pas attendre l’expiration du délai d’attente.

Cet appel de méthode doit être précédé d’un appel à la WaitForFullGCApproach méthode pour vous assurer que vous avez eu un garbage collection complet. L’appel de cette méthode seul peut produire des résultats indéterminés.

Voir aussi

S’applique à

WaitForFullGCComplete(TimeSpan)

Source:
GC.cs
Source:
GC.cs
Source:
GC.cs

Retourne le status d’une notification inscrite indiquant si un garbage collection bloquant est terminé. Peut attendre indéfiniment une collection complète.

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

Paramètres

timeout
TimeSpan

Délai d’attente d’une collection complète

Retours

Status d’une notification GC complète inscrite

S’applique à