GC.WaitForFullGCComplete メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
共通言語ランタイムによるフル ブロッキング ガベージ コレクションが完了したかどうかを確認するための、登録済みの通知の状態を返します。
オーバーロード
WaitForFullGCComplete() |
共通言語ランタイムによるフル ブロッキング ガベージ コレクションが完了したかどうかを確認するための、登録済みの通知の状態を返します。 |
WaitForFullGCComplete(Int32) |
共通言語ランタイムによるフル ブロッキング ガベージ コレクションが完了したかどうかを確認するための登録済みの通知の状態を、指定したタイムアウト時間で返します。 |
WaitForFullGCComplete(TimeSpan) |
ブロッキング ガベージ コレクションが完了したかどうかに関する登録済み通知の状態を返します。 完全なコレクションを無期限に待機できます。 |
WaitForFullGCComplete()
- ソース:
- GC.CoreCLR.cs
- ソース:
- GC.CoreCLR.cs
- ソース:
- GC.CoreCLR.cs
共通言語ランタイムによるフル ブロッキング ガベージ コレクションが完了したかどうかを確認するための、登録済みの通知の状態を返します。
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
戻り値
登録済みのガベージ コレクションの通知の状態。
- 属性
例
次の例は、このメソッドを使用して、完全なガベージ コレクションが完了したかどうかを判断する方法を示しています。 通知の状態が の場合は Succeeded常に、完了したコレクションに応答してアクションを実行するユーザー メソッド OnFullGCCompletedNotify
が呼び出されます。 このコード例は、 ガベージ コレクション通知 に関するトピックで提供されるより大きな例の一部です。
// 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
注釈
メソッドを GCNotificationStatus 使用して登録された現在のガベージ コレクション通知の状態を確認するには、このメソッドによって返される列挙体を RegisterForFullGCNotification 使用します。 また、 メソッドを WaitForFullGCApproach 使用して、完全なガベージ コレクションが差し迫っているかどうかを判断することもできます。
列挙が を返 Succeededすときは、 プロパティを使用して作業の再開やコレクション数の取得などのタスクを CollectionCount 実行できます。
このメソッドは、ガベージ コレクションの通知が取得されるまで無期限に待機します。 通知を取得できない場合にメソッドが返すタイムアウト期間を指定する場合は、 メソッドのオーバーロードを GC.WaitForFullGCApproach(Int32) 使用します。 タイムアウトを指定せずにこのメソッドを呼び出す場合は、優先よりも長く待機している場合は、 メソッドを呼び出 CancelFullGCNotification すことができます。
このメソッド呼び出しの前に、 メソッドを呼び出して WaitForFullGCApproach 、完全なガベージ コレクションがあることを確認する必要があります。 このメソッドを単独で呼び出すと、不確定な結果が生成される可能性があります。
こちらもご覧ください
適用対象
WaitForFullGCComplete(Int32)
- ソース:
- GC.CoreCLR.cs
- ソース:
- GC.CoreCLR.cs
- ソース:
- GC.CoreCLR.cs
共通言語ランタイムによるフル ブロッキング ガベージ コレクションが完了したかどうかを確認するための登録済みの通知の状態を、指定したタイムアウト時間で返します。
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
パラメーター
- millisecondsTimeout
- Int32
通知の状態が取得されるまで待機する時間。 無期限に待機するには -1 を指定します。
戻り値
登録済みのガベージ コレクションの通知の状態。
- 属性
例外
millisecondsTimeout
は、負でないか、 Int32.MaxValue または -1 以下である必要があります。
注釈
メソッドを GCNotificationStatus 使用して登録された現在のガベージ コレクション通知の状態を確認するには、このメソッドによって返される列挙体を RegisterForFullGCNotification 使用します。 また、 メソッドを WaitForFullGCApproach 使用して、完全なガベージ コレクションが差し迫っているかどうかを判断することもできます。
このメソッドは、 で millisecondsTimeout
指定された値に関係なく、ガベージ コレクションの通知状態が取得されるたびに直ちにを返すことに注意してください。 タイムアウトする前に millisecondsTimeout
ガベージ コレクション通知の状態が取得されない場合、このメソッドは を返します NotApplicable。
列挙が を返 Succeededすときは、 プロパティを使用して作業の再開やコレクション数の取得などのタスクを CollectionCount 実行できます。
タイムアウト期間が CancelFullGCNotification 経過するまで待機できない場合は、 メソッドを呼び出すことができます。
このメソッド呼び出しの前に、 メソッドを呼び出して WaitForFullGCApproach 、完全なガベージ コレクションがあることを確認する必要があります。 このメソッドを単独で呼び出すと、不確定な結果が生成される可能性があります。
こちらもご覧ください
適用対象
WaitForFullGCComplete(TimeSpan)
- ソース:
- GC.cs
- ソース:
- GC.cs
- ソース:
- GC.cs
ブロッキング ガベージ コレクションが完了したかどうかに関する登録済み通知の状態を返します。 完全なコレクションを無期限に待機できます。
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
パラメーター
- timeout
- TimeSpan
完全なコレクションの待機中のタイムアウト
戻り値
登録済みの完全 GC 通知の状態
適用対象
.NET