GC.EndNoGCRegion メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
GC 領域の無待機モードを終了します。
public:
static void EndNoGCRegion();
public static void EndNoGCRegion ();
[System.Security.SecurityCritical]
public static void EndNoGCRegion ();
static member EndNoGCRegion : unit -> unit
[<System.Security.SecurityCritical>]
static member EndNoGCRegion : unit -> unit
Public Shared Sub EndNoGCRegion ()
- 属性
例外
ガベージ コレクターが、GC 領域の無待機モードではありません。
または
ガベージ コレクションが発生したために、GC 領域の無待機モードは前に終了されました。
または
メモリ割り当てが、TryStartNoGCRegion(Int64) メソッドの呼び出しで指定された量を超えています。
注釈
EndNoGCRegionガベージ コレクターが GC リージョン待機時間モードでない場合、メソッドは をInvalidOperationExceptionスローします。 これは、次のいずれかの条件で発生します。
メソッドは TryStartNoGCRegion 以前に呼び出されませんでした。
メソッドの呼び出しで が TryStartNoGCRegion 返されました
false
。メソッドの TryStartNoGCRegion 呼び出しで例外がスローされました。
次のようなコードを使用すると、これらの理由で例外を回避できます。
if (GCSettings.LatencyMode == GCLatencyMode.NoGCRegion)
GC.EndNoGCRegion();
if GCSettings.LatencyMode = GCLatencyMode.NoGCRegion then
GC.EndNoGCRegion()
If GCSettings.LatencyMode = GCLatencyMode.NoGCRegion Then
GC.EndNoGCRegion()
End If
適用対象
こちらもご覧ください
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET