GC.WaitForFullGCComplete Метод

Определение

Возвращает состояние зарегистрированного уведомления, чтобы определить, завершена ли полная блокировка сборки мусора средой CLR.Returns the status of a registered notification for determining whether a full, blocking garbage collection by the common language runtime has completed.

Перегрузки

WaitForFullGCComplete()

Возвращает состояние зарегистрированного уведомления, чтобы определить, завершена ли полная блокировка сборки мусора средой CLR.Returns the status of a registered notification for determining whether a full, blocking garbage collection by the common language runtime has completed.

WaitForFullGCComplete(Int32)

Возвращает состояние зарегистрированного уведомления в пределах указанного времени ожидания, чтобы определить, завершена ли полная блокировка сборки мусора средой CLR.Returns, in a specified time-out period, the status of a registered notification for determining whether a full, blocking garbage collection by common language the runtime has completed.

WaitForFullGCComplete()

Возвращает состояние зарегистрированного уведомления, чтобы определить, завершена ли полная блокировка сборки мусора средой CLR.Returns the status of a registered notification for determining whether a full, blocking garbage collection by the common language runtime has completed.

public:
 static GCNotificationStatus WaitForFullGCComplete();
[System.Security.SecurityCritical]
public static GCNotificationStatus WaitForFullGCComplete ();
static member WaitForFullGCComplete : unit -> GCNotificationStatus
Public Shared Function WaitForFullGCComplete () As GCNotificationStatus

Возвраты

Состояние зарегистрированного уведомления о сборке мусора.The status of the registered garbage collection notification.

Атрибуты

Примеры

В следующем примере показано, как использовать этот метод, чтобы определить, завершена ли полная сборка мусора.The following example shows how to use this method to determine whether a full garbage collection has completed. Всякий раз, когда состояние уведомления Succeeded, метод пользователя OnFullGCCompletedNotify вызывается для выполнения действий в ответ на завершенную коллекцию.Whenever the status of the notification is Succeeded, the user method OnFullGCCompletedNotify is called to perform actions in response to the completed collection. Этот пример кода является частью большого примера, приведенного в разделе уведомления о сборке мусора .This code example is part of a larger example provided for Garbage Collection Notifications topic.

// 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.
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

Комментарии

Используйте перечисление GCNotificationStatus, возвращаемое этим методом, для определения состояния текущего уведомления о сборке мусора, зарегистрированного с помощью метода RegisterForFullGCNotification.Use the GCNotificationStatus enumeration returned by this method to determine the status of the current garbage collection notification that was registered by using the RegisterForFullGCNotification method. Можно также использовать метод WaitForFullGCApproach, чтобы определить, приближается ли полная сборка мусора.You can also use the WaitForFullGCApproach method to determine whether a full garbage collection is imminent.

Когда перечисление возвращает Succeeded, можно выполнять такие задачи, как возобновление работы и получение числа коллекций с помощью свойства CollectionCount.When the enumeration returns Succeeded, you can do tasks such as resuming work and obtaining a collection count with the CollectionCount property.

Этот метод ожидает получения уведомления о сборке мусора в течение неограниченного времени.This method waits indefinitely for a garbage collection notification to be obtained. Если необходимо указать период времени ожидания, в течение которого метод будет возвращаться, если уведомление не может быть получено, используйте перегрузку метода GC.WaitForFullGCApproach(Int32).If you want to specify a time-out period for the method to return if the notification cannot be obtained, use the GC.WaitForFullGCApproach(Int32) method overload. При вызове этого метода без указания времени ожидания можно вызвать метод CancelFullGCNotification, если ожидается больше предпочтительных.If you call this method without specifying a time-out, you can call the CancelFullGCNotification method if you are waiting longer than preferred.

Этому вызову метода должен предшествовать вызов метода WaitForFullGCApproach, чтобы убедиться в наличии полной сборки мусора.This method call should be preceded with a call to the WaitForFullGCApproach method to make sure that you have had a full garbage collection. Вызов только этого метода может привести к непредсказуемым результатам.Calling this method alone can produce indeterminate results.

Безопасность

LinkDemand
Полный уровень доверия для непосредственного вызывающего.for full trust for the immediate caller. Этот член не может быть использован частично доверенным кодом.This member cannot be used by partially trusted code.

SecurityCriticalAttribute
Требуется полное доверие для немедленного вызывающего объекта.requires full trust for the immediate caller. Этот член не может использоваться частично доверенным или прозрачным кодом.This member cannot be used by partially trusted or transparent code.

Дополнительно

WaitForFullGCComplete(Int32)

Возвращает состояние зарегистрированного уведомления в пределах указанного времени ожидания, чтобы определить, завершена ли полная блокировка сборки мусора средой CLR.Returns, in a specified time-out period, the status of a registered notification for determining whether a full, blocking garbage collection by common language the runtime has completed.

public:
 static GCNotificationStatus WaitForFullGCComplete(int millisecondsTimeout);
[System.Security.SecurityCritical]
public static GCNotificationStatus WaitForFullGCComplete (int millisecondsTimeout);
static member WaitForFullGCComplete : int -> GCNotificationStatus
Public Shared Function WaitForFullGCComplete (millisecondsTimeout As Integer) As GCNotificationStatus

Параметры

millisecondsTimeout
Int32

Продолжительность времени ожидания, прежде чем можно извлечь состояние уведомления.The length of time to wait before a notification status can be obtained. Укажите значение -1, если период ожидания неограниченный.Specify -1 to wait indefinitely.

Возвраты

Состояние зарегистрированного уведомления о сборке мусора.The status of the registered garbage collection notification.

Атрибуты

Исключения

Значение millisecondsTimeout должно быть либо неотрицательным, либо меньше или равно MaxValue или –1.millisecondsTimeout must be either non-negative or less than or equal to MaxValue or -1.

Комментарии

Используйте перечисление GCNotificationStatus, возвращаемое этим методом, для определения состояния текущего уведомления о сборке мусора, зарегистрированного с помощью метода RegisterForFullGCNotification.Use the GCNotificationStatus enumeration returned by this method to determine the status of the current garbage collection notification that was registered by using the RegisterForFullGCNotification method. Можно также использовать метод WaitForFullGCApproach, чтобы определить, приближается ли полная сборка мусора.You can also use the WaitForFullGCApproach method to determine whether a full garbage collection is imminent.

Обратите внимание, что этот метод возвращает значение сразу при получении состояния уведомления о сборке мусора независимо от значения, заданного millisecondsTimeout.Note that this method returns immediately whenever a garbage collection notification status is obtained, regardless of the value specified by millisecondsTimeout. Если состояние уведомления о сборке мусора не получено до истечения millisecondsTimeout, этот метод возвращает NotApplicable.If a garbage collection notification status is not obtained before millisecondsTimeout times out, this method returns NotApplicable.

Когда перечисление возвращает Succeeded, можно выполнять такие задачи, как возобновление работы и получение числа коллекций с помощью свойства CollectionCount.When the enumeration returns Succeeded, you can do tasks such as resuming work and obtaining a collection count with the CollectionCount property.

Метод CancelFullGCNotification можно вызвать, если не удается дождаться истечения времени ожидания.You can call the CancelFullGCNotification method when you cannot wait for the time-out period to elapse.

Этому вызову метода должен предшествовать вызов метода WaitForFullGCApproach, чтобы убедиться в наличии полной сборки мусора.This method call should be preceded with a call to the WaitForFullGCApproach method to make sure that you have had a full garbage collection. Вызов только этого метода может привести к непредсказуемым результатам.Calling this method alone can produce indeterminate results.

Безопасность

LinkDemand
Полный уровень доверия для непосредственного вызывающего.for full trust for the immediate caller. Этот член не может быть использован частично доверенным кодом.This member cannot be used by partially trusted code.

SecurityCriticalAttribute
Требуется полное доверие для немедленного вызывающего объекта.requires full trust for the immediate caller. Этот член не может использоваться частично доверенным или прозрачным кодом.This member cannot be used by partially trusted or transparent code.

Дополнительно

Применяется к