GC GC GC GC Class

定義

未使用メモリを自動的に収集するサービスであるシステム ガベージ コレクターを制御します。Controls the system garbage collector, a service that automatically reclaims unused memory.

public ref class GC abstract sealed
public static class GC
type GC = class
Public Class GC
継承

次の例では、いくつかの GC メソッドを使用して、生成および使用されていないオブジェクトのブロックのメモリ情報を取得し、コンソールに出力します。The following example uses several GC methods to get generation and memory information about a block of unused objects and print it to the console. 使用されていないオブジェクトを収集し、し、結果として得られるメモリの合計が表示されます。The unused objects are then collected, and the resulting memory totals are displayed.

using namespace System;
const long maxGarbage = 1000;
ref class MyGCCollectClass
{
public:
   void MakeSomeGarbage()
   {
      Version^ vt;
      for ( int i = 0; i < maxGarbage; i++ )
      {
         
         // Create objects and release them to fill up memory
         // with unused objects.
         vt = gcnew Version;

      }
   }

};

int main()
{
   MyGCCollectClass^ myGCCol = gcnew MyGCCollectClass;
   
   // Determine the maximum number of generations the system
   // garbage collector currently supports.
   Console::WriteLine( "The highest generation is {0}", GC::MaxGeneration );
   myGCCol->MakeSomeGarbage();
   
   // Determine which generation myGCCol object is stored in.
   Console::WriteLine( "Generation: {0}", GC::GetGeneration( myGCCol ) );
   
   // Determine the best available approximation of the number
   // of bytes currently allocated in managed memory.
   Console::WriteLine( "Total Memory: {0}", GC::GetTotalMemory( false ) );
   
   // Perform a collection of generation 0 only.
   GC::Collect( 0 );
   
   // Determine which generation myGCCol object is stored in.
   Console::WriteLine( "Generation: {0}", GC::GetGeneration( myGCCol ) );
   Console::WriteLine( "Total Memory: {0}", GC::GetTotalMemory( false ) );
   
   // Perform a collection of all generations up to and including 2.
   GC::Collect( 2 );
   
   // Determine which generation myGCCol object is stored in.
   Console::WriteLine( "Generation: {0}", GC::GetGeneration( myGCCol ) );
   Console::WriteLine( "Total Memory: {0}", GC::GetTotalMemory( false ) );
}

using System;

namespace GCCollectIntExample
{
    class MyGCCollectClass
    {
        private const long maxGarbage = 1000;
      
        static void Main()
        {
            MyGCCollectClass myGCCol = new MyGCCollectClass();

            // Determine the maximum number of generations the system
	    // garbage collector currently supports.
            Console.WriteLine("The highest generation is {0}", GC.MaxGeneration);
            
            myGCCol.MakeSomeGarbage();

            // Determine which generation myGCCol object is stored in.
            Console.WriteLine("Generation: {0}", GC.GetGeneration(myGCCol));
            
            // Determine the best available approximation of the number 
	    // of bytes currently allocated in managed memory.
            Console.WriteLine("Total Memory: {0}", GC.GetTotalMemory(false));
            
            // Perform a collection of generation 0 only.
            GC.Collect(0);
            
            // Determine which generation myGCCol object is stored in.
            Console.WriteLine("Generation: {0}", GC.GetGeneration(myGCCol));
            
            Console.WriteLine("Total Memory: {0}", GC.GetTotalMemory(false));
            
            // Perform a collection of all generations up to and including 2.
            GC.Collect(2);
            
            // Determine which generation myGCCol object is stored in.
            Console.WriteLine("Generation: {0}", GC.GetGeneration(myGCCol));
            Console.WriteLine("Total Memory: {0}", GC.GetTotalMemory(false));
            Console.Read();
        }

        void MakeSomeGarbage()
        {
            Version vt;

            for(int i = 0; i < maxGarbage; i++)
            {
                // Create objects and release them to fill up memory
		// with unused objects.
                vt = new Version();
            }
        }
    }
}
Imports System

Namespace GCCollectInt_Example
    Class MyGCCollectClass
        Private maxGarbage As Long = 10000

        Public Shared Sub Main()
            Dim myGCCol As New MyGCCollectClass

            'Determine the maximum number of generations the system
            'garbage collector currently supports.
            Console.WriteLine("The highest generation is {0}", GC.MaxGeneration)

            myGCCol.MakeSomeGarbage()

            'Determine which generation myGCCol object is stored in.
            Console.WriteLine("Generation: {0}", GC.GetGeneration(myGCCol))

            'Determine the best available approximation of the number 
            'of bytes currently allocated in managed memory.
            Console.WriteLine("Total Memory: {0}", GC.GetTotalMemory(False))

            'Perform a collection of generation 0 only.
            GC.Collect(0)

            'Determine which generation myGCCol object is stored in.
            Console.WriteLine("Generation: {0}", GC.GetGeneration(myGCCol))

            Console.WriteLine("Total Memory: {0}", GC.GetTotalMemory(False))

            'Perform a collection of all generations up to and including 2.
            GC.Collect(2)

            'Determine which generation myGCCol object is stored in.
            Console.WriteLine("Generation: {0}", GC.GetGeneration(myGCCol))
            Console.WriteLine("Total Memory: {0}", GC.GetTotalMemory(False))
            Console.Read()

        End Sub


        Sub MakeSomeGarbage()
            Dim vt As Version

            Dim i As Integer
            For i = 0 To maxGarbage - 1
                'Create objects and release them to fill up memory
                'with unused objects.
                vt = New Version
            Next i
        End Sub
    End Class
End Namespace

注釈

ガベージ コレクターは、割り当てとマネージ メモリの解放を制御する共通言語ランタイム コンポーネントです。The garbage collector is a common language runtime component that controls the allocation and release of managed memory. このクラスのメソッドは、オブジェクトとそのオブジェクトによって割り当てられたリソースがリリースされたときに、ガベージ コレクションが実行されるときに影響します。The methods in this class influence when garbage collection is performed on an object and when resources allocated by an object are released. このクラスのプロパティは、システムおよび年齢のカテゴリ、または生成、オブジェクトに割り当てられたメモリの使用可能なメモリの合計金額についての情報を提供します。Properties in this class provide information about the total amount of memory available in the system and the age category, or generation, of memory allocated to an object.

ガベージ コレクターは、追跡し、マネージ メモリに割り当てられたオブジェクトを解放します。The garbage collector tracks and reclaims objects allocated in managed memory. 定期的に、ガベージ コレクターを有効な参照がないオブジェクトに割り当てられたメモリを解放するガベージ コレクションを実行します。Periodically, the garbage collector performs garbage collection to reclaim memory allocated to objects for which there are no valid references. ガベージ コレクションは、利用可能なメモリを使用してメモリの要求を満たすことができないときに自動的に行われます。Garbage collection happens automatically when a request for memory cannot be satisfied using available free memory. また、アプリケーションが使用してガベージ コレクションを強制することができます、Collectメソッド。Alternatively, an application can force garbage collection using the Collect method.

ガベージ コレクションは、次の手順で構成されます。Garbage collection consists of the following steps:

  1. ガベージ コレクターは、マネージ コードで参照されているマネージ オブジェクトを検索します。The garbage collector searches for managed objects that are referenced in managed code.

  2. ガベージ コレクターは、参照されていないオブジェクトの終了を試みます。The garbage collector tries to finalize objects that are not referenced.

  3. ガベージ コレクターは、参照されていないオブジェクトを解放し、そのメモリを解放します。The garbage collector frees objects that are not referenced and reclaims their memory.

このトピックには、次のセクションがあります。This topic includes the following sections:

ガベージ コレクターとアンマネージ リソース The garbage collector and unmanaged resources
オブジェクトの世代と世代 Object aging and generations
ガベージ コレクションを禁止していますDisallowing garbage collection

ガベージ コレクターとアンマネージ リソースThe garbage collector and unmanaged resources

マネージ コードで、オブジェクトへの 1 つまたは複数の参照を見つけた場合、ガベージ コレクター、コレクションの実行時オブジェクトは無料ではありません。During a collection, the garbage collector will not free an object if it finds one or more references to the object in managed code. ただし、ガベージ コレクターは、アンマネージ コードからオブジェクトへの参照を認識しないと、これから明示的に禁止されていない限り、アンマネージ コード内だけで使用されているオブジェクトを解放することがあります。However, the garbage collector does not recognize references to an object from unmanaged code, and might free objects that are being used exclusively in unmanaged code unless explicitly prevented from doing so. KeepAliveメソッドは、ガベージ コレクターがアンマネージ コードでまだ使用されているオブジェクトを収集することを防止するメカニズムを提供します。The KeepAlive method provides a mechanism that prevents the garbage collector from collecting objects that are still in use in unmanaged code.

マネージ メモリの割り当てとは別に、ガベージ コレクターの実装ではファイル ハンドルやデータベース接続などのオブジェクトによって保持されているリソースに関する情報は維持されません。Aside from managed memory allocations, implementations of the garbage collector do not maintain information about resources held by an object, such as file handles or database connections. 型は、型のインスタンスがクリアされる前にリリースする必要があるアンマネージ リソースを使用する場合、型はファイナライザーを実装できます。When a type uses unmanaged resources that must be released before instances of the type are reclaimed, the type can implement a finalizer.

ほとんどの場合、ファイナライザーをオーバーライドすることによって実装されます、Object.Finalizeメソッドです。 ただし、c# または C++ で記述された型を実装のオーバーライドにするコンパイラが有効にするデストラクターObject.Finalizeします。In most cases, finalizers are implemented by overriding the Object.Finalize method; however, types written in C# or C++ implement destructors, which compilers turn into an override of Object.Finalize. ほとんどの場合、オブジェクトに、ファイナライザーがある場合、ガベージ コレクターでそのオブジェクトを解放する前に、In most cases, if an object has a finalizer, the garbage collector calls it prior to freeing the object. ただし、ガベージ コレクターはすべての状況でファイナライザーを呼び出す必要はありません。たとえば、SuppressFinalizeメソッドが呼び出されることを明示的にオブジェクトのファイナライザーを防ぎます。However, the garbage collector is not required to call finalizers in all situations; for example, the SuppressFinalize method explicitly prevents an object's finalizer from being called. また、ガベージ コレクターでは、特定のスレッドを使用して、オブジェクトの終了または相互に参照がガベージ コレクション用に使用できるオブジェクトのファイナライザーが呼び出されて、順序は保証する必要はありません。Also, the garbage collector is not required to use a specific thread to finalize objects, or guarantee the order in which finalizers are called for objects that reference each other but are otherwise available for garbage collection.

特定の時点でリソースを解放する必要があります場所では、クラスに実装できる、IDisposableインターフェイスが含まれています、IDisposable.Disposeリソース管理とクリーンアップ タスクを実行するメソッド。In scenarios where resources must be released at a specific time, classes can implement the IDisposable interface, which contains the IDisposable.Dispose method that performs resource management and cleanup tasks. 実装するクラスDisposeする必要がありますを指定、クラスのコントラクトの一部としてクラスのコンシューマーが、オブジェクトをクリーンアップするメソッドを呼び出す場合。Classes that implement Dispose must specify, as part of their class contract, if and when class consumers call the method to clean up the object. ガベージ コレクターは、既定では、呼び出しません、Disposeメソッドです。 ただし、の実装、Disposeメソッド呼び出すことができます、GCガベージ コレクターの終了処理の動作をカスタマイズするクラス。The garbage collector does not, by default, call the Dispose method; however, implementations of the Dispose method can call methods in the GC class to customize the finalization behavior of the garbage collector.

オブジェクトのファイナライザーと dispose パターンの詳細については、次を参照してください。アンマネージ リソースのクリーンアップします。For more information on object finalization and the dispose pattern, see Cleaning Up Unmanaged Resources.

オブジェクトの世代と世代Object aging and generations

共通言語ランタイムのガベージ コレクターには、世代を使用してオブジェクトの世代がサポートしています。The garbage collector in the common language runtime supports object aging using generations. 世代は、メモリ内のオブジェクトの相対的な経過時間の測定単位です。A generation is a unit of measure of the relative age of objects in memory. 世代番号、またはオブジェクトの有効期間は、オブジェクトが属している世代を示します。The generation number, or age, of an object indicates the generation to which an object belongs. 最近作成されたオブジェクトは新しいジェネレーションの一部であるあり、アプリケーション ライフ サイクルの前半で作成されたオブジェクトのサイクルよりも低い世代番号になります。Objects created more recently are part of newer generations, and have lower generation numbers than objects created earlier in the application life cycle. 最新のジェネレーションのオブジェクトは、ジェネレーション 0 では。Objects in the most recent generation are in generation 0. ガベージ コレクターのこの実装では、オブジェクトの 3 つの世代、世代 0、1、および 2 をサポートします。This implementation of the garbage collector supports three generations of objects, generations 0, 1, and 2. 値を取得することができます、MaxGenerationシステムでサポートされている最大生成数を決定するプロパティ。You can retrieve the value of the MaxGeneration property to determine the maximum generation number supported by the system.

オブジェクトの世代では、すべてのジェネレーションを評価するガベージ コレクターを必要とするのではなく、世代の特定のセットにガベージ コレクションの対象アプリケーションができます。Object aging allows applications to target garbage collection at a specific set of generations rather than requiring the garbage collector to evaluate all generations. オーバー ロード、Collectメソッドが含まれる、generationパラメーターを使用すると、最も古いジェネレーションのガベージ コレクションを指定できます。Overloads of the Collect method that include a generation parameter allow you to specify the oldest generation to be garbage collected.

ガベージ コレクションを禁止していますDisallowing garbage collection

以降では、 .NET Framework 4.6.NET Framework 4.6、ガベージ コレクターは、GC 領域待機時間モードなしでガベージ コレクションはパフォーマンスに悪影響をアプリのクリティカル パスの実行中に使用できるをサポートしています。Starting with the .NET Framework 4.6.NET Framework 4.6, the garbage collector supports a no GC region latency mode that can be used during the execution of critical paths in which garbage collection can adversely affect an app's performance. GC 領域の無待機モードでは、競合することがなく、ガベージ コレクターから割り当て可能なメモリの容量を指定する必要があります。The no GC region latency mode requires that you specify an amount of memory that can be allocated without interference from the garbage collector. ランタイムでは、そのメモリを割り当てることができる場合、ランタイムは実行しませんガベージ コレクションのクリティカル パスにコードの実行中。If the runtime can allocate that memory, the runtime will not perform a garbage collection while code in the critical path is executing.

オーバー ロードのいずれかを呼び出していない GC 領域のクリティカル パスの先頭を定義する、TryStartNoGCRegionします。You define the beginning of the critical path of the no GC region by calling one of the overloads of the TryStartNoGCRegion. 呼び出して、クリティカル パスの末尾を指定する、EndNoGCRegionメソッド。You specify the end of its critical path by calling the EndNoGCRegion method.

呼び出しを入れ子にすることはできません、TryStartNoGCRegionメソッド、およびするが呼び出す必要がありますのみ、EndNoGCRegion場合は、ランタイムが GC 領域の無待機モードでは現在のメソッド。You cannot nest calls to the TryStartNoGCRegion method, and you should only call the EndNoGCRegion method if the runtime is currently in no GC region latency mode. つまり、呼び出す必要はありませんTryStartNoGCRegion複数回 (最初のメソッド呼び出しの後の後続の呼び出しは成功しません) への呼び出しは期待できませんとEndNoGCRegion最初の呼び出しのためにだけ、TryStartNoGCRegionに成功しました。In other words, you should not call TryStartNoGCRegion multiple times (after the first method call, subsequent calls will not succeed), and you should not expect calls to EndNoGCRegion to succeed just because the first call to TryStartNoGCRegion succeeded.

プロパティ

MaxGeneration MaxGeneration MaxGeneration MaxGeneration

システムが現在サポートしている最大のジェネレーション番号を取得します。Gets the maximum number of generations that the system currently supports.

メソッド

AddMemoryPressure(Int64) AddMemoryPressure(Int64) AddMemoryPressure(Int64) AddMemoryPressure(Int64)

アンマネージ メモリが大規模に割り当てられたため、ガベージ コレクションをスケジュールするときに考慮する必要があることが、ランタイムに通知されます。Informs the runtime of a large allocation of unmanaged memory that should be taken into account when scheduling garbage collection.

CancelFullGCNotification() CancelFullGCNotification() CancelFullGCNotification() CancelFullGCNotification()

ガベージ コレクションの通知の登録をキャンセルします。Cancels the registration of a garbage collection notification.

Collect() Collect() Collect() Collect()

すべてのジェネレーションのガベージ コレクションを直ちに強制実行します。Forces an immediate garbage collection of all generations.

Collect(Int32) Collect(Int32) Collect(Int32) Collect(Int32)

ジェネレーション 0 から指定ジェネレーションまでのガベージ コレクションを直ちに強制実行します。Forces an immediate garbage collection from generation 0 through a specified generation.

Collect(Int32, GCCollectionMode) Collect(Int32, GCCollectionMode) Collect(Int32, GCCollectionMode) Collect(Int32, GCCollectionMode)

GCCollectionMode 値によって指定したタイミングで、ジェネレーション 0 から指定ジェネレーションまでのガベージ コレクションを強制的に実行します。Forces a garbage collection from generation 0 through a specified generation, at a time specified by a GCCollectionMode value.

Collect(Int32, GCCollectionMode, Boolean) Collect(Int32, GCCollectionMode, Boolean) Collect(Int32, GCCollectionMode, Boolean) Collect(Int32, GCCollectionMode, Boolean)

ジェネレーション 0 から指定ジェネレーションまでのガベージ コレクションを、 GCCollectionMode 値で指定したタイミングで強制実行します。コレクションをブロックする必要があるかどうかを指定する値を指定します。Forces a garbage collection from generation 0 through a specified generation, at a time specified by a GCCollectionMode value, with a value specifying whether the collection should be blocking.

Collect(Int32, GCCollectionMode, Boolean, Boolean) Collect(Int32, GCCollectionMode, Boolean, Boolean) Collect(Int32, GCCollectionMode, Boolean, Boolean) Collect(Int32, GCCollectionMode, Boolean, Boolean)

ジェネレーション 0 から指定ジェネレーションまでのガベージ コレクションを、 GCCollectionMode 値で指定したタイミングで強制実行します。コレクションをブロックおよび圧縮する必要があるかどうかを指定する値を指定します。Forces a garbage collection from generation 0 through a specified generation, at a time specified by a GCCollectionMode value, with values that specify whether the collection should be blocking and compacting.

CollectionCount(Int32) CollectionCount(Int32) CollectionCount(Int32) CollectionCount(Int32)

指定したジェネレーションのオブジェクトに対するガベージ コレクションの発生回数を返します。Returns the number of times garbage collection has occurred for the specified generation of objects.

EndNoGCRegion() EndNoGCRegion() EndNoGCRegion() EndNoGCRegion()

GC 領域の無待機モードを終了します。Ends the no GC region latency mode.

GetAllocatedBytesForCurrentThread() GetAllocatedBytesForCurrentThread() GetAllocatedBytesForCurrentThread() GetAllocatedBytesForCurrentThread()

その有効期間の開始以降、現在のスレッドに割り当てられた総バイト数を取得します。Gets the total number of bytes allocated to the current thread since the beginning of its lifetime.

GetGCMemoryInfo() GetGCMemoryInfo() GetGCMemoryInfo() GetGCMemoryInfo()
GetGeneration(Object) GetGeneration(Object) GetGeneration(Object) GetGeneration(Object)

指定したオブジェクトの現在のジェネレーション番号を返します。Returns the current generation number of the specified object.

GetGeneration(WeakReference) GetGeneration(WeakReference) GetGeneration(WeakReference) GetGeneration(WeakReference)

指定した弱い参照の対象となる現在のジェネレーション番号を返します。Returns the current generation number of the target of a specified weak reference.

GetTotalAllocatedBytes(Boolean) GetTotalAllocatedBytes(Boolean) GetTotalAllocatedBytes(Boolean) GetTotalAllocatedBytes(Boolean)
GetTotalMemory(Boolean) GetTotalMemory(Boolean) GetTotalMemory(Boolean) GetTotalMemory(Boolean)

現在割り当てられていると思われるバイト数を取得します。Retrieves the number of bytes currently thought to be allocated. パラメーターは、このメソッドが制御を戻す前に短い時間だけ待機して、システムがガベージ コレクションを行い、オブジェクトの終了操作を実行できるようにするかどうかを示します。A parameter indicates whether this method can wait a short interval before returning, to allow the system to collect garbage and finalize objects.

KeepAlive(Object) KeepAlive(Object) KeepAlive(Object) KeepAlive(Object)

指定したオブジェクトを参照することにより、現在のルーチンの開始時からこのメソッドが呼び出される時点までの間、そのオブジェクトをガベージ コレクションの対象から外します。References the specified object, which makes it ineligible for garbage collection from the start of the current routine to the point where this method is called.

RegisterForFullGCNotification(Int32, Int32) RegisterForFullGCNotification(Int32, Int32) RegisterForFullGCNotification(Int32, Int32) RegisterForFullGCNotification(Int32, Int32)

フル ガベージ コレクションの可能性が高い状態のとき、およびガベージ コレクションが完了したときに、ガベージ コレクションの通知を発行する必要があることを指定します。Specifies that a garbage collection notification should be raised when conditions favor full garbage collection and when the collection has been completed.

RemoveMemoryPressure(Int64) RemoveMemoryPressure(Int64) RemoveMemoryPressure(Int64) RemoveMemoryPressure(Int64)

アンマネージ メモリが解放され、ガベージ コレクションのスケジュールにこのメモリを考慮する必要がなくなったことをランタイムに通知します。Informs the runtime that unmanaged memory has been released and no longer needs to be taken into account when scheduling garbage collection.

ReRegisterForFinalize(Object) ReRegisterForFinalize(Object) ReRegisterForFinalize(Object) ReRegisterForFinalize(Object)

SuppressFinalize(Object) が事前に呼び出されている指定オブジェクトに対して、ファイナライザーを呼び出すことをシステムに要求します。Requests that the system call the finalizer for the specified object for which SuppressFinalize(Object) has previously been called.

SuppressFinalize(Object) SuppressFinalize(Object) SuppressFinalize(Object) SuppressFinalize(Object)

指定したオブジェクトに対してファイナライザーを呼び出さないよう共通言語ランタイムに要求します。Requests that the common language runtime not call the finalizer for the specified object.

TryStartNoGCRegion(Int64) TryStartNoGCRegion(Int64) TryStartNoGCRegion(Int64) TryStartNoGCRegion(Int64)

指定した量のメモリを使用可能な場合、クリティカル パスの実行中にガベージ コレクションが行われないよう、試行します。Attempts to disallow garbage collection during the execution of a critical path if a specified amount of memory is available.

TryStartNoGCRegion(Int64, Boolean) TryStartNoGCRegion(Int64, Boolean) TryStartNoGCRegion(Int64, Boolean) TryStartNoGCRegion(Int64, Boolean)

指定した量のメモリを使用可能な場合は、クリティカル パスの実行中にガベージ コレクションが行われないよう、試行します。また、最初に十分な量のメモリを使用できない場合に、ガベージ コレクターがフル ブロッキング ガベージ コレクションを実行するかどうかを制御します。Attempts to disallow garbage collection during the execution of a critical path if a specified amount of memory is available, and controls whether the garbage collector does a full blocking garbage collection if not enough memory is initially available.

TryStartNoGCRegion(Int64, Int64) TryStartNoGCRegion(Int64, Int64) TryStartNoGCRegion(Int64, Int64) TryStartNoGCRegion(Int64, Int64)

大きなオブジェクト ヒープおよび小さなオブジェクト ヒープに対して、指定した量のメモリを使用可能な場合、クリティカル パスの実行中にガベージ コレクションが行われないよう、試行します。Attempts to disallow garbage collection during the execution of a critical path if a specified amount of memory is available for the large object heap and the small object heap.

TryStartNoGCRegion(Int64, Int64, Boolean) TryStartNoGCRegion(Int64, Int64, Boolean) TryStartNoGCRegion(Int64, Int64, Boolean) TryStartNoGCRegion(Int64, Int64, Boolean)

大きなオブジェクト ヒープおよび小さなオブジェクト ヒープに対して、指定した量のメモリを使用可能な場合は、クリティカル パスの実行中にガベージ コレクションが行われないよう、試行します。また、最初に十分な量のメモリを使用できない場合に、ガベージ コレクターがフル ブロッキング ガベージ コレクションを実行するかどうかを制御します。Attempts to disallow garbage collection during the execution of a critical path if a specified amount of memory is available for the large object heap and the small object heap, and controls whether the garbage collector does a full blocking garbage collection if not enough memory is initially available.

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.

WaitForFullGCComplete() WaitForFullGCComplete() WaitForFullGCComplete() WaitForFullGCComplete()

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

WaitForFullGCComplete(Int32) WaitForFullGCComplete(Int32) WaitForFullGCComplete(Int32) WaitForFullGCComplete(Int32)

共通言語ランタイムによるフル ブロッキング ガベージ コレクションが完了したかどうかを確認するための登録済みの通知の状態を、指定したタイムアウト時間で返します。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.

WaitForPendingFinalizers() WaitForPendingFinalizers() WaitForPendingFinalizers() WaitForPendingFinalizers()

ファイナライザーのキューを処理するスレッドがそのキューを空にするまで、現在のスレッドを中断します。Suspends the current thread until the thread that is processing the queue of finalizers has emptied that queue.

適用対象

こちらもご覧ください