GC Sınıf

Tanım

Kullanılmayan belleği otomatik olarak geri kazanır bir hizmet olan sistem çöp toplayıcısı 'nı denetler.Controls the system garbage collector, a service that automatically reclaims unused memory.

public ref class GC abstract sealed
public ref class GC sealed
public static class GC
public sealed class GC
type GC = class
Public Class GC
Public NotInheritable Class GC
Devralma
GC

Örnekler

Aşağıdaki örnek, kullanılmamış nesneler bloğu hakkında oluşturma ve bellek bilgilerini almak ve bunu konsola yazdırmak için çeşitli GC yöntemlerini kullanır.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. Kullanılmayan nesneler daha sonra toplanır ve sonuçta elde edilen bellek toplamları görüntülenir.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();
            }
        }
    }
}
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

Açıklamalar

Çöp toplayıcı, yönetilen bellek ayırmayı ve serbest bırakma işlemini denetleyen ortak bir dil çalışma zamanı bileşenidir.The garbage collector is a common language runtime component that controls the allocation and release of managed memory. Bu sınıftaki Yöntemler, çöp toplama bir nesne üzerinde gerçekleştirildiğinde ve bir nesne tarafından ayrılan kaynaklar bırakıldığında etkiler.The methods in this class influence when garbage collection is performed on an object and when resources allocated by an object are released. Bu sınıftaki özellikler, sistemde kullanılabilen toplam bellek miktarı ve bir nesneye ayrılan belleğin yaş kategorisi veya nesli hakkında bilgi sağlar.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.

Atık toplayıcı, yönetilen bellekte ayrılan nesneleri izler ve geri kazanır.The garbage collector tracks and reclaims objects allocated in managed memory. Çöp toplayıcı düzenli aralıklarla çöp toplama işlemini gerçekleştirerek, geçerli başvuru olmayan nesnelere ayrılan belleği geri kazanabilirsiniz.Periodically, the garbage collector performs garbage collection to reclaim memory allocated to objects for which there are no valid references. Kullanılabilir boş bellek kullanılarak bellek isteği karşılanamadığında çöp toplama işlemi otomatik olarak gerçekleşir.Garbage collection happens automatically when a request for memory cannot be satisfied using available free memory. Alternatif olarak, bir uygulama, yöntemini kullanarak çöp toplamayı zorlayabilir Collect .Alternatively, an application can force garbage collection using the Collect method.

Çöp toplama aşağıdaki adımlardan oluşur:Garbage collection consists of the following steps:

  1. Çöp toplayıcı yönetilen kodda başvurulan yönetilen nesneler için arama yapar.The garbage collector searches for managed objects that are referenced in managed code.

  2. Çöp toplayıcı, başvurulmayan nesneleri sonlandırmaya çalışır.The garbage collector tries to finalize objects that are not referenced.

  3. Çöp toplayıcı, başvurulmayan nesneleri serbest bırakır ve belleğine geri kazanır.The garbage collector frees objects that are not referenced and reclaims their memory.

Bu konu aşağıdaki bölümleri içermektedir:This topic includes the following sections:

Çöp toplayıcı ve yönetilmeyen kaynaklar The garbage collector and unmanaged resources
Nesne eskime ve nesilleri Object aging and generations
Çöp toplamaya izin vermemeDisallowing garbage collection

Çöp toplayıcı ve yönetilmeyen kaynaklarThe garbage collector and unmanaged resources

Bir koleksiyon sırasında, Yönetilen koddaki nesneye bir veya daha fazla başvuru bulursa çöp toplayıcı bir nesneyi serbest meyecektir.During a collection, the garbage collector will not free an object if it finds one or more references to the object in managed code. Ancak, atık toplayıcı yönetilmeyen koddan bir nesneye yapılan başvuruları tanımaz ve açıkça doğrudan engellenmedikçe yönetilmeyen kodda kullanılan nesneleri serbest kalabilir.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. KeepAliveYöntemi, atık toplayıcının yönetilmeyen kodda hala kullanımda olan nesneleri toplamasını engelleyen bir mekanizma sağlar.The KeepAlive method provides a mechanism that prevents the garbage collector from collecting objects that are still in use in unmanaged code.

Yönetilen bellek ayırmalarının yanı sıra, çöp toplayıcı uygulamaları, dosya tutamaçları veya veritabanı bağlantıları gibi bir nesne tarafından tutulan kaynaklarla ilgili bilgileri korumaz.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. Bir tür, bir tür örneklerinin geri kazanılmadan önce yayımlanması gereken yönetilmeyen kaynakları kullandığında, tür bir sonlandırıcı uygulayabilir.When a type uses unmanaged resources that must be released before instances of the type are reclaimed, the type can implement a finalizer.

Çoğu durumda, sonlandırıcılar yöntemi geçersiz kılacak şekilde uygulanır Object.Finalize ; ancak, C# veya C++ dilinde yazılmış türler, derleyiciler uygular ve bu da derleyicilerin bir geçersiz kılma özelliğini alır 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. Çoğu durumda, bir nesnenin sonlandırıcısı varsa, atık toplayıcı nesneyi boşaltmadan önce onu çağırır.In most cases, if an object has a finalizer, the garbage collector calls it prior to freeing the object. Ancak çöp toplayıcı, tüm durumlarda sonlandırıcıları çağırmak için gerekli değildir; Örneğin, SuppressFinalize yöntemi açıkça nesnenin sonlandırıcının çağrılmasına engel olur.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. Ayrıca, çöp toplayıcı nesneleri sonlandırmak için belirli bir iş parçacığını kullanmak zorunda değildir veya her birine başvuran ancak çöp toplama için başka bir şekilde kullanılabilecek nesneler için Sonlandırıcıların çağrıldığı sırayı garanti eder.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.

Kaynakların belirli bir zamanda yayımlanması gereken senaryolarda, sınıflar IDisposable , IDisposable.Dispose kaynak yönetimi ve temizleme görevlerini gerçekleştiren yöntemi içeren arabirimi uygulayabilir.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. Uygulayan sınıflar Dispose , sınıf sözleşmelerinin parçası olarak, ve sınıf tüketicileri nesneyi temizlemek için yöntemini çağırmalı belirtmelidir.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. Çöp toplayıcı, varsayılan olarak Dispose yöntemini çağırır; ancak, Dispose yönteminin uygulamaları GC çöp toplayıcının sonlandırma davranışını özelleştirmek için sınıfındaki yöntemleri çağırabilir.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.

Nesne sonlandırma ve Dispose deseninin hakkında daha fazla bilgi için bkz. yönetilmeyen kaynakları temizleme.For more information on object finalization and the dispose pattern, see Cleaning Up Unmanaged Resources.

Nesne eskime ve nesilleriObject aging and generations

Ortak dil çalışma zamanındaki çöp toplayıcı, nesiller kullanılarak nesne eskimesini destekler.The garbage collector in the common language runtime supports object aging using generations. Oluşturma, bellekteki nesnelerin göreli yaşını ölçündür.A generation is a unit of measure of the relative age of objects in memory. Bir nesnenin oluşturulma numarası veya yaşı, bir nesnenin ait olduğu üretimi gösterir.The generation number, or age, of an object indicates the generation to which an object belongs. Daha önce oluşturulan nesneler daha yeni nesiller 'in bir parçasıdır ve daha önce uygulama yaşam döngüsünde oluşturulan nesnelerden daha düşük nesil sayılardır.Objects created more recently are part of newer generations, and have lower generation numbers than objects created earlier in the application life cycle. En son nesil nesneler oluşturma 0 ' dır.Objects in the most recent generation are in generation 0. Çöp toplayıcı 'nın bu uygulamasında üç Neste nesne, nesil 0, 1 ve 2 desteklenir.This implementation of the garbage collector supports three generations of objects, generations 0, 1, and 2. MaxGenerationSistemin desteklediği en büyük oluşturma numarasını öğrenmek için özelliğinin değerini alabilirsiniz.You can retrieve the value of the MaxGeneration property to determine the maximum generation number supported by the system.

Nesne eskime, uygulamaların tüm nesilleri değerlendirmek için çöp toplayıcısının gerekli olması yerine belirli bir nesin kümesinde çöp toplamayı hedeflemesini sağlar.Object aging allows applications to target garbage collection at a specific set of generations rather than requiring the garbage collector to evaluate all generations. CollectBir parametresi içeren yönteminin aşırı yüklemeleri, generation atık olarak toplanabilecek en eski üretimi belirtmenize olanak tanır.Overloads of the Collect method that include a generation parameter allow you to specify the oldest generation to be garbage collected.

Çöp toplamaya izin vermemeDisallowing garbage collection

İle başlayarak .NET Framework 4.6.NET Framework 4.6 , atık toplayıcı, bir uygulamanın performansını olumsuz yönde etkileyebilecek kritik yolların yürütülmesi sırasında kullanılabilecek BIR GC bölgesi gecikme modu desteklememektedir.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. Hiçbir GC bölgesi gecikme modu, çöp toplayıcısından parazit olmadan ayrılabilecek bir bellek miktarı belirtmenizi gerektirir.The no GC region latency mode requires that you specify an amount of memory that can be allocated without interference from the garbage collector. Çalışma zamanı bu belleği ayırabiliyorsanız, kritik yoldaki kod yürütülürken çalışma zamanı çöp toplama gerçekleştirmeyecektir.If the runtime can allocate that memory, the runtime will not perform a garbage collection while code in the critical path is executing.

Bir GC bölgesinin kritik yolunun başlangıcını, ' nin aşırı yüklerini çağırarak tanımlarsınız TryStartNoGCRegion .You define the beginning of the critical path of the no GC region by calling one of the overloads of the TryStartNoGCRegion. Yöntemini çağırarak kritik yolunun sonunu belirtirsiniz EndNoGCRegion .You specify the end of its critical path by calling the EndNoGCRegion method.

Çağrıları yöntemine iç içe geçirilemez TryStartNoGCRegion ve yalnızca EndNoGCRegion çalışma zamanı bir GC bölgesi gecikme modu değilse yöntemini çağırmanız gerekir.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. Diğer bir deyişle, TryStartNoGCRegion birden çok kez çağırmamalıdır (ilk yöntem çağrısından sonra, sonraki çağrılar başarılı olmayacaktır) ve başarılı olması için yapılan çağrıların başarılı olması beklenmez 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.

Özellikler

MaxGeneration

Sistemin Şu anda desteklediği en fazla nesin sayısını alır.Gets the maximum number of generations that the system currently supports.

Yöntemler

AddMemoryPressure(Int64)

Çöp toplama zamanlamasında hesaba alınması gereken, büyük bir yönetilmeyen bellek ayırmasının çalışma zamanına bildirir.Informs the runtime of a large allocation of unmanaged memory that should be taken into account when scheduling garbage collection.

AllocateArray<T>(Int32, Boolean)

Bir diziyi ayırır.Allocates an array.

AllocateUninitializedArray<T>(Int32, Boolean)

Mümkünse sıfır başlatma işlemi atlanırken bir diziyi ayırır.Allocates an array while skipping zero-initialization, if possible.

CancelFullGCNotification()

Çöp toplama bildiriminin kaydını iptal eder.Cancels the registration of a garbage collection notification.

Collect()

Tüm nesiller için anında atık toplamayı zorlar.Forces an immediate garbage collection of all generations.

Collect(Int32)

Bir atık toplamayı, belirtilen nesil 0 ' dan oluşturma aşamasından zorlar.Forces an immediate garbage collection from generation 0 through a specified generation.

Collect(Int32, GCCollectionMode)

Bir atık toplamayı, bir değer tarafından belirtilen bir oluşturma yoluyla, belirli bir nesil 0 ' dan oluşturma işlemini zorlar GCCollectionMode .Forces a garbage collection from generation 0 through a specified generation, at a time specified by a GCCollectionMode value.

Collect(Int32, GCCollectionMode, Boolean)

Bir atık toplamayı, bir değer tarafından belirtilen bir kez, belirtilen bir oluşturma aracılığıyla 0. kuşak ile, GCCollectionMode koleksiyonun engellenip engellenmeyeceğini belirten bir değerle zorlar.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)

Bir atık toplamayı, bir değer tarafından belirtilen bir kez, belirtilen bir oluşturma yoluyla, bir değerle belirtilen bir zamanda, GCCollectionMode koleksiyonun engellenip engellenmeyeceğini ve sıkıştırılmasını belirten değerlerle zorlar.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)

Belirtilen nesne oluşturma için çöp toplamanın kaç kez gerçekleştiğini döndürür.Returns the number of times garbage collection has occurred for the specified generation of objects.

EndNoGCRegion()

GC bölgesi gecikme süresi modunu sonlandırır.Ends the no GC region latency mode.

GetAllocatedBytesForCurrentThread()

Yaşam süresi başlangıcından bu yana geçerli iş parçacığına ayrılan toplam bayt sayısını alır.Gets the total number of bytes allocated to the current thread since the beginning of its lifetime.

GetGCMemoryInfo()

Çöp toplama bellek bilgilerini alır.Gets garbage collection memory information.

GetGCMemoryInfo(GCKind)

Çöp toplama bellek bilgilerini alır.Gets garbage collection memory information.

GetGeneration(Object)

Belirtilen nesnenin geçerli oluşturma numarasını döndürür.Returns the current generation number of the specified object.

GetGeneration(WeakReference)

Belirtilen zayıf başvurunun hedefinin geçerli oluşturma numarasını döndürür.Returns the current generation number of the target of a specified weak reference.

GetTotalAllocatedBytes(Boolean)

İşlemin ömrü boyunca ayrılan baytların sayısını alır.Gets a count of the bytes allocated over the lifetime of the process.

GetTotalMemory(Boolean)

Ayrılmakta olan bayt sayısını alır.Retrieves the number of bytes currently thought to be allocated. Bir parametre bu yöntemin döndürmeden önce kısa bir aralığı bekleyip bekamayacağını, sistemin atık ve son nesneleri toplamasına izin vermek için belirtir.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)

Belirtilen nesneye başvurur ve bu, geçerli yordamın başından bu yöntemin çağrıldığı noktaya kadar çöp toplama için uygun olmayan bir duruma getirir.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)

Koşullar tam çöp toplamayı tercih edildiğinde ve koleksiyon tamamlandığında çöp toplama bildiriminin bir şekilde oluşturulması gerektiğini belirtir.Specifies that a garbage collection notification should be raised when conditions favor full garbage collection and when the collection has been completed.

RemoveMemoryPressure(Int64)

Yönetilmeyen belleğin yayımlandığı çalışma zamanına bildirir ve çöp toplama zamanlamasında artık hesaba alınması gerekmez.Informs the runtime that unmanaged memory has been released and no longer needs to be taken into account when scheduling garbage collection.

ReRegisterForFinalize(Object)

Sistemin daha önce çağrılan belirtilen nesne için sonlandırıcıyı çağırmasını ister SuppressFinalize(Object) .Requests that the system call the finalizer for the specified object for which SuppressFinalize(Object) has previously been called.

SuppressFinalize(Object)

Ortak dil çalışma zamanının belirtilen nesne için sonlandırıcıyı çağırmadığından istekler.Requests that the common language runtime not call the finalizer for the specified object.

TryStartNoGCRegion(Int64)

Belirli bir bellek miktarı kullanılabiliyorsa kritik yolun yürütülmesi sırasında çöp toplamaya izin vermeyin.Attempts to disallow garbage collection during the execution of a critical path if a specified amount of memory is available.

TryStartNoGCRegion(Int64, Boolean)

Belirli bir bellek miktarı kullanılabiliyorsa, önemli bir yolun yürütülmesi sırasında çöp toplamaya izin vermeyin ve başlangıçta yeterli bellek yoksa atık toplamanın tam engelleyici bir çöp toplama işlemi yapıp yapmadığını denetler.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)

Büyük nesne yığını ve küçük nesne yığını için belirtilen miktarda bellek varsa, kritik yolun yürütülmesi sırasında çöp toplamaya izin vermeyin.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)

Büyük nesne yığını ve küçük nesne yığını için belirtilen miktarda bellek varsa, önemli bir yolun yürütülmesi sırasında çöp toplamaya izin vermeyin ve ilk olarak yeterli bellek yoksa çöp toplayıcı 'nın tam engelleyici bir çöp toplama işlemi yapıp yapmadığını denetler.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()

Ortak dil çalışma zamanı tarafından tam, engelleyici bir çöp toplamanın olup olmadığını belirlemek için kayıtlı bir bildirimin durumunu döndürür.Returns the status of a registered notification for determining whether a full, blocking garbage collection by the common language runtime is imminent.

WaitForFullGCApproach(Int32)

Belirli bir zaman aşımı süresi içinde, ortak dil çalışma zamanı tarafından tam ve engelleyici bir çöp toplamanın kullanılıp kullanılmadığını belirlemek için kayıtlı bir bildirimin durumunu döndürür.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()

Ortak dil çalışma zamanı tarafından tam, engelleyici bir çöp toplamanın tamamlanıp tamamlanmadığını belirlemek için kayıtlı bir bildirimin durumunu döndürür.Returns the status of a registered notification for determining whether a full, blocking garbage collection by the common language runtime has completed.

WaitForFullGCComplete(Int32)

Belirli bir zaman aşımı süresi içinde, bir tam ve bir çöp toplamanın çalışma zamanının ortak dile göre tamamlanıp tamamlanmadığını belirlemek için kayıtlı bir bildirimin durumunu döndürür.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()

Sonlandırıcılardan oluşan kuyruğu işleyen iş parçacığı bu kuyruğu boşalana kadar geçerli iş parçacığını askıya alır.Suspends the current thread until the thread that is processing the queue of finalizers has emptied that queue.

Şunlara uygulanır

Ayrıca bkz.