GC.WaitForFullGCApproach GC.WaitForFullGCApproach GC.WaitForFullGCApproach GC.WaitForFullGCApproach Method

定義

共通言語ランタイムによるフル ブロッキング ガベージ コレクションが近づいているかどうかを確認するための、登録済みの通知の状態を返します。Returns the status of a registered notification for determining whether a full, blocking garbage collection by the common language runtime is imminent.

オーバーロード

WaitForFullGCApproach() WaitForFullGCApproach() WaitForFullGCApproach() WaitForFullGCApproach()

共通言語ランタイムによるフル ブロッキング ガベージ コレクションが近づいているかどうかを確認するための、登録済みの通知の状態を返します。Returns the status of a registered notification for determining whether a full, blocking garbage collection by the common language runtime is imminent.

WaitForFullGCApproach(Int32) WaitForFullGCApproach(Int32) WaitForFullGCApproach(Int32) WaitForFullGCApproach(Int32)

共通言語ランタイムによるフル ブロッキング ガベージ コレクションが近づいているかどうかを確認するための登録済みの通知の状態を、指定したタイムアウト時間で返します。Returns, in a specified time-out period, the status of a registered notification for determining whether a full, blocking garbage collection by the common language runtime is imminent.

WaitForFullGCApproach() WaitForFullGCApproach() WaitForFullGCApproach() WaitForFullGCApproach()

共通言語ランタイムによるフル ブロッキング ガベージ コレクションが近づいているかどうかを確認するための、登録済みの通知の状態を返します。Returns the status of a registered notification for determining whether a full, blocking garbage collection by the common language runtime is imminent.

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

戻り値

登録済みのガベージ コレクションの通知の状態。The status of the registered garbage collection notification.

次の例は、このメソッドを使用して、フルブロッキングガベージコレクションが近づいているかどうかを判断する方法を示しています。The following example shows how to use this method to determine whether a full, blocking garbage collection is approaching. 通知の状態がであるSucceeded場合は常に、近づいているコレクションに応答してアクションを実行するために、ユーザーメソッドOnFullGCApproachNotifyが呼び出されます。Whenever the status of the notification is Succeeded, the user method OnFullGCApproachNotify is called to perform actions in response to the approaching collection. このコード例は、「ガベージコレクションの通知」トピックで提供されている、より大きな例の一部です。This code example is part of a larger example provided for Garbage Collection Notifications topic.

// Check for a notification of an approaching collection.
GCNotificationStatus s = GC::WaitForFullGCApproach();
if (s == GCNotificationStatus::Succeeded)
{
    Console::WriteLine("GC Notifiction 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 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 an approaching collection.
Dim s As GCNotificationStatus = GC.WaitForFullGCApproach
If (s = GCNotificationStatus.Succeeded) Then
    Console.WriteLine("GC Notification raised.")
    OnFullGCApproachNotify()
ElseIf (s = GCNotificationStatus.Canceled) Then
    Console.WriteLine("GC Notification cancelled.")
    Exit While
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.")
    Exit While
End If

注釈

このメソッドによって返されたRegisterForFullGCNotification 列挙体を使用して、メソッドを使用して登録された現在のガベージコレクションの通知の状態を確認します。GCNotificationStatusUse 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. WaitForFullGCCompleteメソッドを使用して、フルガベージコレクションが完了したかどうかを確認することもできます。You can also use the WaitForFullGCComplete method to determine whether the full garbage collection has completed.

列挙体から制御Succeededが戻ったときに、 Collectメソッドを使用して、追加のオブジェクトが割り当てられないようにしたり、コレクションを強制的に実行したりすることができます。When the enumeration returns Succeeded, you can do tasks such as preventing additional objects from being allocated and inducing a collection yourself with the Collect method. この通知では、フルガベージコレクションが発生することは保証されません。フルガベージコレクションの実行に適したしきい値に達しただけです。Note that the notification does not guarantee that a full garbage collection will occur, only that conditions have reached the threshold that are favorable for a full garbage collection to occur.

このメソッドは、ガベージコレクションの通知が取得されるまで無期限に待機します。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.

このメソッドには、 WaitForFullGCCompleteメソッドを呼び出して、フルガベージコレクションがあることを確認する必要があります。You should follow this method with a call to the WaitForFullGCComplete method to make sure that you have had a full garbage collection. このメソッドだけを呼び出すと、不確定な結果になります。Calling this method alone causes 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.

こちらもご覧ください

WaitForFullGCApproach(Int32) WaitForFullGCApproach(Int32) WaitForFullGCApproach(Int32) WaitForFullGCApproach(Int32)

共通言語ランタイムによるフル ブロッキング ガベージ コレクションが近づいているかどうかを確認するための登録済みの通知の状態を、指定したタイムアウト時間で返します。Returns, in a specified time-out period, the status of a registered notification for determining whether a full, blocking garbage collection by the common language runtime is imminent.

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

パラメーター

millisecondsTimeout
Int32 Int32 Int32 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.

注釈

このメソッドによって返されたRegisterForFullGCNotification 列挙体を使用して、メソッドを使用して登録された現在のガベージコレクションの通知の状態を確認します。GCNotificationStatusUse 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. WaitForFullGCCompleteメソッドを使用して、フルガベージコレクションが完了したかどうかを確認することもできます。You can also use the WaitForFullGCComplete method to determine whether the full garbage collection has completed.

このメソッドは、によって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が戻ったときに、 Collectメソッドを使用して、追加のオブジェクトが割り当てられないようにしたり、コレクションを強制的に実行したりすることができます。When the enumeration returns Succeeded, you can do tasks such as preventing additional objects from being allocated and inducing a collection yourself with the Collect method. この通知では、フルガベージコレクションが発生することは保証されません。フルガベージコレクションの実行に適したしきい値に達しただけです。Note that the notification does not guarantee that a full garbage collection will occur, only that conditions have reached the threshold that are favorable for a full garbage collection to occur.

タイムアウト期間が経過CancelFullGCNotificationするまで待機できない場合は、メソッドを呼び出すことができます。You can call the CancelFullGCNotification method when you cannot wait for the time-out period to elapse.

このメソッドには、 WaitForFullGCCompleteメソッドを呼び出して、フルガベージコレクションがあることを確認する必要があります。You should follow this method with a call to the WaitForFullGCComplete method to make sure that you have had a full garbage collection. このメソッドだけを呼び出すと、不確定な結果になります。Calling this method alone causes 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.

こちらもご覧ください

適用対象