GC GC GC GC Class

Definition

Steuert den Garbage Collector des Systems. Das ist ein Dienst, der nicht verwendeten Speicher automatisch freigibt.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
Vererbung

Beispiele

Im folgenden Beispiel wird mehrere GC-Methoden zu generieren und Arbeitsspeicherinformationen über einen Block von nicht verwendeten Objekten in der Konsole ausgeben.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. Nicht verwendete Objekte sind dann gesammelt, und die resultierende Gesamtspeichergröße werden angezeigt.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

Hinweise

Der Garbage Collector ist eine Komponente von common Language Runtime, die die Belegung und Freigabe des verwalteten Arbeitsspeichers steuert.The garbage collector is a common language runtime component that controls the allocation and release of managed memory. Die Methoden in dieser Klasse beeinflussen, wenn die automatische speicherbereinigung ausgeführt wird, auf ein Objekt, und wenn von einem Objekt zugeordnete Ressourcen freigegeben werden.The methods in this class influence when garbage collection is performed on an object and when resources allocated by an object are released. Eigenschaften in dieser Klasse stellen Informationen über die Gesamtmenge des verfügbaren Arbeitsspeichers bereit, in das System und der Alterskategorie oder der Generation, des Arbeitsspeichers für ein Objekt.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.

Der Garbage Collector verfolgt und im verwalteten Speicher zugeordnete Objekte freigibt.The garbage collector tracks and reclaims objects allocated in managed memory. Der Garbage Collector führt regelmäßig automatische speicherbereinigung zum Freigeben des Arbeitsspeichers für Objekte, die für die keine gültigen Verweise vorhanden sind.Periodically, the garbage collector performs garbage collection to reclaim memory allocated to objects for which there are no valid references. Garbagecollection erfolgt automatisch, wenn eine Anforderung für den Arbeitsspeicher nicht freien Arbeitsspeicher erfüllt werden kann.Garbage collection happens automatically when a request for memory cannot be satisfied using available free memory. Alternativ kann eine Anwendung mithilfe von Garbage Collection erzwingen die Collect Methode.Alternatively, an application can force garbage collection using the Collect method.

Garbagecollection umfasst die folgenden Schritte aus:Garbage collection consists of the following steps:

  1. Der Garbage Collector sucht nach verwalteten Objekte, die in verwaltetem Code verwiesen werden.The garbage collector searches for managed objects that are referenced in managed code.

  2. Der Garbage Collector versucht, die Objekte zu beenden, die nicht verwiesen wird.The garbage collector tries to finalize objects that are not referenced.

  3. Der Garbage Collector freigegeben Objekte, die nicht verwiesen werden und gibt ihren Speicher frei.The garbage collector frees objects that are not referenced and reclaims their memory.

Dieses Thema enthält die folgenden Abschnitte:This topic includes the following sections:

Der Garbage Collector und nicht verwalteten Ressourcen The garbage collector and unmanaged resources
Das Altern von Objekten und Generationen Object aging and generations
Unterbinden einer GarbagecollectionDisallowing garbage collection

Der Garbage Collector und nicht verwalteten RessourcenThe garbage collector and unmanaged resources

Während einer Collection wird der Garbage Collector kein Objekt frei, wenn sie eine oder mehrere Verweise auf das Objekt in verwaltetem Code findet.During a collection, the garbage collector will not free an object if it finds one or more references to the object in managed code. Allerdings wird der Garbage Collector erkennt keine Verweise auf ein Objekt von nicht verwaltetem Code und Freigeben von Objekten, die ausschließlich in nicht verwaltetem Code verwendet werden, es sei denn, Sie explizit daran gehindert, auf diese Weise kann.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. Die KeepAlive Methode bietet einen Mechanismus, der verhindert, dass der Garbage Collector das Sammeln von Objekten, die in nicht verwaltetem Code noch verwendet werden.The KeepAlive method provides a mechanism that prevents the garbage collector from collecting objects that are still in use in unmanaged code.

Abgesehen von der verwalteten speicherbelegung werden Implementierungen von der Garbage Collector keine Informationen zu Ressourcen, die einem Objekt, z. B. Dateihandles oder Datenbankverbindungen geführt.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. Wenn ein Typ nicht verwaltete Ressourcen, die freigegeben werden müssen verwendet, bevor Instanzen des Typs freigegeben werden, kann der Typ einen Finalizer implementieren.When a type uses unmanaged resources that must be released before instances of the type are reclaimed, the type can implement a finalizer.

In den meisten Fällen sind Finalizer implementiert, durch Überschreiben der Object.Finalize Methode jedoch in c# oder C++ geschriebene Typen Destruktoren, wandeln Sie die von Compilern in eine Überschreibung der 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 den meisten Fällen verfügt ein Objekt einen Finalizer, ruft der Garbage Collector sie vor dem Freigeben des Objekts.In most cases, if an object has a finalizer, the garbage collector calls it prior to freeing the object. Allerdings ist nicht der Garbage Collector Finalizer in allen Situationen aufgerufen; z. B. die SuppressFinalize Methode explizit wird verhindert, dass der Finalizer eines Objekts aufgerufen wird.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. Darüber hinaus muss der Garbage Collector nicht mit einem bestimmten Thread Threadobjekte oder garantieren die Reihenfolge, in der Finalizer für Objekte aufgerufen werden, die aufeinander verweisen, aber andernfalls für die Garbagecollection verfügbar sind.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.

In Szenarien, in denen Ressourcen zu einem bestimmten Zeitpunkt freigegeben werden müssen, können Klassen implementieren die IDisposable -Schnittstelle, die enthält die IDisposable.Dispose Methode, die Resource Management und Bereinigung Aufgaben ausführt.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. Klassen, in denen Dispose müssen angeben, als Teil des Klassenvertrags Wenn Klasse die Methode Consumern, um das Objekt zu bereinigen.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. Der Garbage Collector ist standardmäßig nicht der Fall, rufen Sie die Dispose Methode jedoch Implementierungen der Dispose Methode kann Methoden aufrufen, der GC Klasse zum Anpassen des Verhaltens der Beendigung des Garbage Collectors.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.

Weitere Informationen zum Objekt-abschließen und das Dispose-Muster finden Sie unter Bereinigen von nicht verwalteten Ressourcen.For more information on object finalization and the dispose pattern, see Cleaning Up Unmanaged Resources.

Das Altern von Objekten und GenerationenObject aging and generations

Der Garbage Collector in die common Language Runtime unterstützt das Altern von Objekten mithilfe von Generationen.The garbage collector in the common language runtime supports object aging using generations. Eine Generierung ist eine Maßeinheit für das relative Alter von Objekten im Arbeitsspeicher.A generation is a unit of measure of the relative age of objects in memory. Die Generierungsnummer bzw. das Alter eines Objekts gibt an die Generierung, zu der ein Objekt gehört.The generation number, or age, of an object indicates the generation to which an object belongs. Weitere erstellten Objekte sind Teil der neueren Generation vor kurzem und vom niedrigere Generationszahlen als Durchlaufen der Objekte, die früher im Lebenszyklus Anwendung erstellt haben.Objects created more recently are part of newer generations, and have lower generation numbers than objects created earlier in the application life cycle. Objekte in der neuesten Generation sind in der Generation 0.Objects in the most recent generation are in generation 0. Diese Implementierung des Garbage Collectors unterstützt drei Generationen von Objekten, die Generationen 0, 1 und 2.This implementation of the garbage collector supports three generations of objects, generations 0, 1, and 2. Sie können den Wert der Abrufen der MaxGeneration Eigenschaft, um zu bestimmen, die maximale Generationszahl, die vom System unterstützt werden.You can retrieve the value of the MaxGeneration property to determine the maximum generation number supported by the system.

Das Altern von Objekten kann Anwendungen, die Zielsammlung für die Garbage auf einen bestimmten Satz von Generationen statt der Garbage Collector alle Generationen ausgewertet.Object aging allows applications to target garbage collection at a specific set of generations rather than requiring the garbage collector to evaluate all generations. Überladungen der der Collect Methode, die enthalten eine generation Parameter ermöglichen es Ihnen, geben Sie die älteste Generationszahl, um die Garbage Collection bereinigt werden.Overloads of the Collect method that include a generation parameter allow you to specify the oldest generation to be garbage collected.

Unterbinden einer GarbagecollectionDisallowing garbage collection

Beginnend mit der .NET Framework 4.6.NET Framework 4.6, der Garbage Collector unterstützt eine Latenzmodus ohne GC-Region, die während der Ausführung des kritischen Pfade verwendet werden kann, in der Garbage Collection kann der app-Leistung beeinträchtigen.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. Der Latenzmodus ohne GC-Region ist erforderlich, dass Sie die Größe des Arbeitsspeichers angeben, die ohne Störung durch den Garbage Collector zugeordnet werden können.The no GC region latency mode requires that you specify an amount of memory that can be allocated without interference from the garbage collector. Wenn die Laufzeit, dass der Speicher zugeordnet werden kann, wird die Runtime eine Garbagecollection nicht auszuführen, während Code im kritischen Pfad ausführt.If the runtime can allocate that memory, the runtime will not perform a garbage collection while code in the critical path is executing.

Sie definieren den Anfang den kritischen Pfad, der keine GC-Region durch Aufrufen einer der Überladungen der der TryStartNoGCRegion.You define the beginning of the critical path of the no GC region by calling one of the overloads of the TryStartNoGCRegion. Sie geben Sie das Ende seiner kritischen Pfads durch den Aufruf der EndNoGCRegion Methode.You specify the end of its critical path by calling the EndNoGCRegion method.

Nicht verschachtelt werden, Aufrufe an die TryStartNoGCRegion Methode aufzurufen, und Sie sollten nur die EndNoGCRegion Methode, wenn die Runtime ist derzeit im Latenzmodus ohne GC-Region ist.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. Das heißt, Sie sollten nicht aufrufen, TryStartNoGCRegion mehrere Male (nach dem ersten Methodenaufruf, bei nachfolgenden Aufrufen werden nicht erfolgreich), und nicht erwarten, dass Aufrufe von EndNoGCRegion erfolgreich ist, nur weil der erste Aufruf von TryStartNoGCRegion war erfolgreich.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.

Eigenschaften

MaxGeneration MaxGeneration MaxGeneration MaxGeneration

Ruft die maximale Anzahl von Generationen ab, die das System gegenwärtig unterstützt.Gets the maximum number of generations that the system currently supports.

Methoden

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

Informiert die Laufzeit über eine große Belegung von nicht verwaltetem Arbeitsspeicher, der beim Planen der Garbage Collection in Erwägung gezogen werden muss.Informs the runtime of a large allocation of unmanaged memory that should be taken into account when scheduling garbage collection.

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

Bricht die Registrierung einer Garbage Collection-Benachrichtigung ab.Cancels the registration of a garbage collection notification.

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

Erzwingt eine sofortige Garbage Collection für alle Generationen.Forces an immediate garbage collection of all generations.

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

Erzwingt eine sofortige Garbage Collection von Generation 0 (null) bis zu einer angegebenen Generation.Forces an immediate garbage collection from generation 0 through a specified generation.

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

Erzwingt eine Garbage Collection von Generation 0 (null) bis zu einer angegebenen Generation zu einem durch einen GCCollectionMode-Wert angegebenen Zeitpunkt.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)

Erzwingt eine Garbage Collection von Generation 0 (null) bis zu einer angegebenen Generation, angegeben durch jeweils einen GCCollectionMode-Wert und mit einem Wert, der angibt, ob die Auflistung blockieren soll.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)

Erzwingt eine Garbage Collection von Generation 0 (null) bis zu einer angegebenen Generation, angegeben durch jeweils einen GCCollectionMode-Wert und mit Werten, die angeben, ob die Auflistung blockieren und komprimieren soll.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)

Gib die Anzahl zurück, wie oft die Garbage Collection für die angegebene Objektgeneration stattgefunden hat.Returns the number of times garbage collection has occurred for the specified generation of objects.

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

Beendet den Latenzmodus ohne GC-Region.Ends the no GC region latency mode.

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

Ruft die Gesamtzahl der Bytes ab, die dem aktuellen Thread seit Beginn seiner Lebensdauer zugeordnet wurden.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)

Gibt die aktuelle Generationszahl des angegebenen Objekts zurück.Returns the current generation number of the specified object.

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

Gibt die aktuelle Generationszahl für das Ziel eines angegebenen schwachen Verweises zurück.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)

Ruft einen Schätzwert für die reservierte Anzahl von Bytes ab.Retrieves the number of bytes currently thought to be allocated. Ein Parameter gibt an, ob diese Methode vor der Rückgabe eine kurze Zeit warten kann, damit das System die Garbage Collection durchführen und Objekte finalisieren kann.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)

Verweist auf das angegebene Objekt und nimmt es von Beginn der aktuellen Routine bis zum Zeitpunkt des Aufrufs dieser Methode von der Garbage Collection aus.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)

Gibt an, dass eine Garbage Collection-Benachrichtigung ausgelöst werden soll, wenn eine vollständige Garbage Collection durch die Bedingungen begünstigt wird und wenn die Garbage Collection abgeschlossen wurde.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)

Informiert die Laufzeit, dass nicht verwalteter Arbeitsspeicher freigegeben wurde und beim Planen der Garbage Collection nicht mehr berücksichtigt werden muss.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)

Fordert beim System den Aufruf des Finalizers für das angegebene Objekt an, für das zuvor SuppressFinalize(Object) aufgerufen wurde.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)

Fordert die Common Language Runtime auf, den Finalizer für das angegebene Objekt nicht aufzurufen.Requests that the common language runtime not call the finalizer for the specified object.

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

Versucht, Garbage Collection während der Ausführung eines kritischen Pfads zu unterbinden, wenn eine bestimmte Arbeitsspeichermenge verfügbar ist.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)

Versucht, Garbage Collection während der Ausführung eines kritischen Pfads zu unterbinden, wenn eine bestimmte Arbeitsspeichermenge verfügbar ist, und steuert die Ausführung einer vollständigen blockierenden Garbage Collection durch den Garbage Collector, wenn nicht genügend Arbeitsspeicher verfügbar ist.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)

Versucht, Garbage Collection während der Ausführung eines kritischen Pfads zu unterbinden, wenn eine bestimmte Arbeitsspeichermenge für den großen und den kleinen Objektheap verfügbar ist.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)

Versucht, Garbage Collection während der Ausführung eines kritischen Pfads zu unterbinden, wenn eine bestimmte Arbeitsspeichermenge für den großen und den kleinen Objektheap verfügbar ist, und steuert die Ausführung einer vollständigen blockierenden Garbage Collection durch den Garbage Collector, wenn nicht genügend Arbeitsspeicher verfügbar ist.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()

Gibt den Status einer registrierten Benachrichtigung zurück, um zu bestimmen, ob eine vollständige blockierende Garbage Collection durch die Common Language Runtime bevorsteht.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)

Gibt innerhalb einer angegebenen Timeoutspanne den Status einer registrierten Benachrichtigung zurück, um zu bestimmen, ob eine vollständige blockierende Garbage Collection durch die Common Language Runtime bevorsteht.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()

Gibt den Status einer registrierten Benachrichtigung zurück, um zu bestimmen, ob eine vollständige blockierende Garbage Collection durch die Common Language Runtime abgeschlossen wurde.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)

Gibt innerhalb einer angegebenen Timeoutspanne den Status einer registrierten Benachrichtigung zurück, um zu bestimmen, ob eine vollständige blockierende Garbage Collection durch die Common Language Runtime abgeschlossen wurde.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()

Hält den aktuellen Thread so lange an, bis der Thread, der die Finalizerwarteschlange verarbeitet, diese Warteschlange geleert hat.Suspends the current thread until the thread that is processing the queue of finalizers has emptied that queue.

Gilt für:

Siehe auch