GC Klasa

Definicja

Kontroluje systemową Moduł wyrzucania elementów bezużytecznych, usługi, która automatycznie odzyskuje nieużywaną pamięć.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
Dziedziczenie
GC

Przykłady

W poniższym przykładzie zastosowano kilka metod GC, aby uzyskać informacje o generowaniu i pamięci dla bloku nieużywanych obiektów i wydrukować je w konsoli programu.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. Wszystkie nieużywane obiekty są gromadzone i wyświetlane są sumy uzyskanej pamięci.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

Uwagi

Moduł wyrzucania elementów bezużytecznych jest składnikiem środowiska uruchomieniowego języka wspólnego, który kontroluje alokację i wydawanie pamięci zarządzanej.The garbage collector is a common language runtime component that controls the allocation and release of managed memory. Metody w tej klasie mają wpływ na to, gdy wyrzucanie elementów bezużytecznych jest wykonywane na obiekcie i gdy są wydawane zasoby przydzielone przez obiekt.The methods in this class influence when garbage collection is performed on an object and when resources allocated by an object are released. Właściwości w tej klasie zawierają informacje o łącznej ilości pamięci dostępnej w systemie oraz o kategorii wieku lub generacji pamięci przydzieloną do obiektu.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.

Moduł wyrzucania elementów bezużytecznych śledzi i ponownie zgłasza obiekty przydzieloną w pamięci zarządzanej.The garbage collector tracks and reclaims objects allocated in managed memory. Okresowo moduł zbierający elementy bezużyteczne wykonuje wyrzucanie elementów bezużytecznych, aby odzyskiwać pamięć przydzieloną do obiektów, dla których nie ma prawidłowych odwołań.Periodically, the garbage collector performs garbage collection to reclaim memory allocated to objects for which there are no valid references. Wyrzucanie elementów bezużytecznych odbywa się automatycznie, gdy żądanie dotyczące pamięci nie może zostać spełnione przy użyciu dostępnej wolnej pamięci.Garbage collection happens automatically when a request for memory cannot be satisfied using available free memory. Alternatywnie aplikacja może wymusić wyrzucanie elementów bezużytecznych przy użyciu Collect metody.Alternatively, an application can force garbage collection using the Collect method.

Wyrzucanie elementów bezużytecznych składa się z następujących kroków:Garbage collection consists of the following steps:

  1. Moduł zbierający elementy bezużyteczne wyszukuje obiekty zarządzane, do których istnieją odwołania w kodzie zarządzanym.The garbage collector searches for managed objects that are referenced in managed code.

  2. Moduł wyrzucania elementów bezużytecznych próbuje sfinalizować obiekty, do których nie istnieją odwołania.The garbage collector tries to finalize objects that are not referenced.

  3. Moduł wyrzucania elementów bezużytecznych zwalnia obiekty, do których nie odwołuje się i przejmuje ich pamięć.The garbage collector frees objects that are not referenced and reclaims their memory.

Ten temat zawiera następujące sekcje:This topic includes the following sections:

Moduł wyrzucania elementów bezużytecznych i niezarządzanych zasobów The garbage collector and unmanaged resources
Przedawnianie i generacja obiektów Object aging and generations
Niezezwalanie na wyrzucanie elementów bezużytecznychDisallowing garbage collection

Moduł wyrzucania elementów bezużytecznych i niezarządzanych zasobówThe garbage collector and unmanaged resources

Podczas zbierania Moduł wyrzucania elementów bezużytecznych nie zwolni obiektu, jeśli znajdzie co najmniej jedno odwołanie do obiektu w kodzie zarządzanym.During a collection, the garbage collector will not free an object if it finds one or more references to the object in managed code. Jednak Moduł wyrzucania elementów bezużytecznych nie rozpoznaje odwołań do obiektu z kodu niezarządzanego i może zwolnić obiekty, które są używane wyłącznie w kodzie niezarządzanym, chyba że jawnie nie zostanie to zrobione.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. KeepAliveMetoda zapewnia mechanizm, który uniemożliwia modułowi zbierającemu elementy bezużyteczne zbieranie obiektów, które są nadal używane w kodzie niezarządzanym.The KeepAlive method provides a mechanism that prevents the garbage collector from collecting objects that are still in use in unmanaged code.

Poza alokacją pamięci zarządzanej, implementacje modułu wyrzucania elementów bezużytecznych nie utrzymują informacji o zasobach przechowywanych przez obiekt, takich jak dojścia do plików lub połączenia z bazami danych.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. Gdy typ używa niezarządzanych zasobów, które muszą zostać wydane przed odprowadzeniem wystąpień typu, typ może zaimplementować finalizator.When a type uses unmanaged resources that must be released before instances of the type are reclaimed, the type can implement a finalizer.

W większości przypadków finalizatory są implementowane przez zastąpienie Object.Finalize metody; jednak typy, w których kompilatory implementują Języki C# lub C++, które kompilatora przesłonić 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. W większości przypadków, jeśli obiekt ma finalizator, moduł zbierający elementy bezużyteczne wywołuje go przed zwolnieniem obiektu.In most cases, if an object has a finalizer, the garbage collector calls it prior to freeing the object. Jednak Moduł wyrzucania elementów bezużytecznych nie jest wymagany do wywoływania finalizatorów we wszystkich sytuacjach; na przykład SuppressFinalize Metoda jawnie uniemożliwia wywoływanie finalizatora obiektu.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. Ponadto Moduł wyrzucania elementów bezużytecznych nie musi używać określonego wątku do sfinalizowania obiektów lub zagwarantowania kolejności, w której finalizatory są wywoływane dla obiektów, które odwołują się do siebie nawzajem, ale są dostępne do wyrzucania elementów bezużytecznych.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.

W scenariuszach, w których zasoby muszą być wydane w określonym czasie, klasy mogą implementować IDisposable interfejs, który zawiera IDisposable.Dispose metodę, która wykonuje zadania zarządzania zasobami i oczyszczania.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. Klasy implementujące Dispose muszą określać, jako część ich kontraktu klasy, jeśli i gdy klasy odbiorcy wywołują metodę w celu oczyszczenia obiektu.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. Moduł wyrzucania elementów bezużytecznych nie jest domyślnie wywoływany przez Dispose metodę, ale implementacje Dispose metody mogą wywoływać metody w GC klasie, aby dostosować sposób finalizowania modułu wyrzucania elementów bezużytecznych.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.

Aby uzyskać więcej informacji o finalizowaniu obiektów i wzorcu usuwania, zobacz Oczyszczanie zasobów niezarządzanych.For more information on object finalization and the dispose pattern, see Cleaning Up Unmanaged Resources.

Przedawnianie i generacja obiektówObject aging and generations

Moduł wyrzucania elementów bezużytecznych w środowisku uruchomieniowym języka wspólnego obsługuje przedawnianie obiektów przy użyciu generacji.The garbage collector in the common language runtime supports object aging using generations. Generacja jest jednostką miary względnego wieku obiektów w pamięci.A generation is a unit of measure of the relative age of objects in memory. Numer generacji lub wiek obiektu wskazuje generację, do której należy obiekt.The generation number, or age, of an object indicates the generation to which an object belongs. Obiekty utworzone niedawno są częścią nowszych generacji i mają niższe numery generacji niż obiekty utworzone wcześniej w cyklu życia aplikacji.Objects created more recently are part of newer generations, and have lower generation numbers than objects created earlier in the application life cycle. Obiekty w najnowszej generacji są w generacji 0.Objects in the most recent generation are in generation 0. Ta implementacja modułu wyrzucania elementów bezużytecznych obsługuje trzy generacje obiektów, generacji 0, 1 i 2.This implementation of the garbage collector supports three generations of objects, generations 0, 1, and 2. Możesz pobrać wartość MaxGeneration właściwości, aby określić maksymalny numer generacji obsługiwany przez system.You can retrieve the value of the MaxGeneration property to determine the maximum generation number supported by the system.

Przedawnianie obiektów umożliwia aplikacjom docelowe wyrzucanie elementów bezużytecznych w określonym zestawie generacji, a nie wymaganie wyrzucania elementów bezużytecznych w celu oszacowania wszystkich generacji.Object aging allows applications to target garbage collection at a specific set of generations rather than requiring the garbage collector to evaluate all generations. Przeciążenia Collect metody zawierającej generation parametr umożliwiają określenie najstarszej generacji do wyrzucania elementów bezużytecznych.Overloads of the Collect method that include a generation parameter allow you to specify the oldest generation to be garbage collected.

Niezezwalanie na wyrzucanie elementów bezużytecznychDisallowing garbage collection

Począwszy od .NET Framework 4,6, Moduł wyrzucania elementów bezużytecznych obsługuje tryb opóźnienia w regionie GC, który może być używany podczas wykonywania ścieżek krytycznych, w których wyrzucanie elementów bezużytecznych może mieć negatywny wpływ na wydajność aplikacji.Starting with the .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. Tryb opóźnienia regionu nie wymaga określenia ilości pamięci, którą można przydzielić bez ingerencji z modułu wyrzucania elementów bezużytecznych.The no GC region latency mode requires that you specify an amount of memory that can be allocated without interference from the garbage collector. Jeśli środowisko uruchomieniowe może przydzielić pamięć, środowisko uruchomieniowe nie wykonuje wyrzucania elementów bezużytecznych podczas wykonywania kodu w ścieżce krytycznej.If the runtime can allocate that memory, the runtime will not perform a garbage collection while code in the critical path is executing.

Należy zdefiniować początek ścieżki krytycznej w regionie No GC przez wywołanie jednego z przeciążeń TryStartNoGCRegion .You define the beginning of the critical path of the no GC region by calling one of the overloads of the TryStartNoGCRegion. Należy określić koniec swojej ścieżki krytycznej, wywołując EndNoGCRegion metodę.You specify the end of its critical path by calling the EndNoGCRegion method.

Nie można zagnieżdżać wywołań do TryStartNoGCRegion metody i należy wywołać metodę tylko wtedy, EndNoGCRegion gdy środowisko uruchomieniowe jest obecnie w trybie opóźnień w regionie 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. Innymi słowy, nie należy wywoływać TryStartNoGCRegion wiele razy (po pierwszym wywołaniu metody, kolejne wywołania zakończą się niepowodzeniem) i nie należy oczekiwać, aby wywołania EndNoGCRegion kończyły się pomyślnie, ponieważ pierwsze wywołanie TryStartNoGCRegion zakończyło się pomyślnie.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.

Właściwości

MaxGeneration

Pobiera maksymalną liczbę generacji, które obecnie obsługuje system.Gets the maximum number of generations that the system currently supports.

Metody

AddMemoryPressure(Int64)

Informuje środowisko uruchomieniowe dużej alokacji niezarządzanej pamięci, które należy wziąć pod uwagę podczas planowania wyrzucania elementów bezużytecznych.Informs the runtime of a large allocation of unmanaged memory that should be taken into account when scheduling garbage collection.

AllocateArray<T>(Int32, Boolean)

Alokuje tablicę.Allocates an array.

AllocateUninitializedArray<T>(Int32, Boolean)

Przydziela tablicę podczas pomijania inicjacji zerowej, jeśli jest to możliwe.Allocates an array while skipping zero-initialization, if possible.

CancelFullGCNotification()

Anuluje rejestrację powiadomienia o wyrzucaniu elementów bezużytecznych.Cancels the registration of a garbage collection notification.

Collect()

Wymusza natychmiastowe wyczyszczenie elementów bezużytecznych wszystkich generacji.Forces an immediate garbage collection of all generations.

Collect(Int32)

Wymusza natychmiastowe wyrzucanie elementów bezużytecznych z generacji 0 za pośrednictwem określonej generacji.Forces an immediate garbage collection from generation 0 through a specified generation.

Collect(Int32, GCCollectionMode)

Wymusza wyrzucanie elementów bezużytecznych z generacji od 0 do określonej generacji w czasie określonym przez GCCollectionMode wartość.Forces a garbage collection from generation 0 through a specified generation, at a time specified by a GCCollectionMode value.

Collect(Int32, GCCollectionMode, Boolean)

Wymusza wyrzucanie elementów bezużytecznych z generacji 0 przez określoną generację, w czasie określonym przez GCCollectionMode wartość, o wartości określającej, czy kolekcja powinna blokować.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)

Wymusza wyrzucanie elementów bezużytecznych z generacji 0 przez określoną generację, w czasie określonym przez GCCollectionMode wartość, z wartościami, które określają, czy kolekcja powinna blokować i kompaktować.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)

Zwraca liczbę przypadków wyrzucania elementów bezużytecznych dla określonej generacji obiektów.Returns the number of times garbage collection has occurred for the specified generation of objects.

EndNoGCRegion()

Zamyka tryb opóźnień regionu No.Ends the no GC region latency mode.

GetAllocatedBytesForCurrentThread()

Pobiera łączną liczbę bajtów przydzieloną do bieżącego wątku od momentu rozpoczęcia jego okresu istnienia.Gets the total number of bytes allocated to the current thread since the beginning of its lifetime.

GetGCMemoryInfo()

Pobiera informacje o pamięci wyrzucania elementów bezużytecznych.Gets garbage collection memory information.

GetGCMemoryInfo(GCKind)

Pobiera informacje o pamięci wyrzucania elementów bezużytecznych.Gets garbage collection memory information.

GetGeneration(Object)

Zwraca bieżący numer generacji określonego obiektu.Returns the current generation number of the specified object.

GetGeneration(WeakReference)

Zwraca bieżący numer generacji elementu docelowego określonego słabego odwołania.Returns the current generation number of the target of a specified weak reference.

GetTotalAllocatedBytes(Boolean)

Pobiera liczbę bajtów przydzieloną w okresie istnienia procesu.Gets a count of the bytes allocated over the lifetime of the process.

GetTotalMemory(Boolean)

Pobiera liczbę bajtów, które są aktualnie uważane za przydzieloną.Retrieves the number of bytes currently thought to be allocated. Parametr wskazuje, czy ta metoda może oczekiwać krótkiego interwału przed zwróceniem, aby umożliwić systemowi zbieranie elementów bezużytecznych i finalizowanie obiektów.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)

Odwołuje się do określonego obiektu, co sprawia, że nie kwalifikuje się do wyrzucania elementów bezużytecznych od początku bieżącej procedury do punktu, w którym ta metoda jest wywoływana.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)

Określa, że należy podwyższyć powiadomienie o wyrzucaniu elementów bezużytecznych, gdy warunki preferują pełne odzyskiwanie pamięci i gdy kolekcja została ukończona.Specifies that a garbage collection notification should be raised when conditions favor full garbage collection and when the collection has been completed.

RemoveMemoryPressure(Int64)

Informuje środowisko uruchomieniowe, że niezarządzana pamięć została wydana i nie trzeba już brać pod uwagę podczas planowania wyrzucania elementów bezużytecznych.Informs the runtime that unmanaged memory has been released and no longer needs to be taken into account when scheduling garbage collection.

ReRegisterForFinalize(Object)

Żąda, aby system wywoływał finalizator dla określonego obiektu, dla którego SuppressFinalize(Object) poprzednio został wywołany.Requests that the system call the finalizer for the specified object for which SuppressFinalize(Object) has previously been called.

SuppressFinalize(Object)

Żąda, aby środowisko uruchomieniowe języka wspólnego nie wywołało finalizatora dla określonego obiektu.Requests that the common language runtime not call the finalizer for the specified object.

TryStartNoGCRegion(Int64)

Próbuje uniemożliwić wyrzucanie elementów bezużytecznych podczas wykonywania ścieżki krytycznej, jeśli jest dostępna określona ilość pamięci.Attempts to disallow garbage collection during the execution of a critical path if a specified amount of memory is available.

TryStartNoGCRegion(Int64, Boolean)

Próbuje uniemożliwić wyrzucanie elementów bezużytecznych podczas wykonywania ścieżki krytycznej, jeśli jest dostępna określona ilość pamięci i kontroluje, czy moduł wyrzucania elementów bezużytecznych wykonuje pełne blokowanie wyrzucania elementów bezużytecznych, jeśli nie jest dostępna wystarczająca ilość pamięci.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)

Próbuje uniemożliwić wyrzucanie elementów bezużytecznych podczas wykonywania ścieżki krytycznej, jeśli określona ilość pamięci jest dostępna dla sterty dużych obiektów i sterty małego obiektu.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)

Próbuje uniemożliwić wyrzucanie elementów bezużytecznych podczas wykonywania ścieżki krytycznej, jeśli określona ilość pamięci jest dostępna dla sterty dużych obiektów i sterty małego obiektu oraz kontroluje, czy moduł wyrzucania elementów bezużytecznych wykonuje pełne blokowanie wyrzucania elementów bezużytecznych, jeśli nie jest dostępna wystarczająca ilość pamięci.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()

Zwraca stan zarejestrowanego powiadomienia w celu określenia, czy pełna, blokująca wyrzucanie elementów bezużytecznych przez środowisko uruchomieniowe języka wspólnego jest bliska.Returns the status of a registered notification for determining whether a full, blocking garbage collection by the common language runtime is imminent.

WaitForFullGCApproach(Int32)

Zwraca w określonym przedziale czasu stan zarejestrowanego powiadomienia w celu określenia, czy pełna, blokująca wyrzucanie elementów bezużytecznych przez środowisko uruchomieniowe języka wspólnego jest bliska.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()

Zwraca stan zarejestrowanego powiadomienia w celu określenia, czy pełne, blokujące wyrzucanie elementów bezużytecznych przez środowisko uruchomieniowe języka wspólnego zostało zakończone.Returns the status of a registered notification for determining whether a full, blocking garbage collection by the common language runtime has completed.

WaitForFullGCComplete(Int32)

Zwraca w określonym przedziale czasu stan zarejestrowanego powiadomienia w celu określenia, czy pełne, blokujące wyrzucanie elementów bezużytecznych w ramach wspólnego języka zostało zakończone.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()

Wstrzymuje bieżący wątek, dopóki wątek, który przetwarza kolejki finalizatorów, opróżnił tę kolejkę.Suspends the current thread until the thread that is processing the queue of finalizers has emptied that queue.

Dotyczy

Zobacz też