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 werden mehrere GC-Methoden verwendet, um Generierungs-und Arbeitsspeicher Informationen zu einem Block von nicht verwendeten Objekten zu erhalten und in der Konsole zu drucken.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. Die nicht verwendeten Objekte werden dann erfasst, und die resultierenden Arbeitsspeicher Summen 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 Common Language Runtime Komponente, die die Zuordnung und Freigabe von verwaltetem Speicher 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 Garbage Collection für ein-Objekt ausgeführt wird und die von einem-Objekt zugeordneten 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 enthalten Informationen über die Gesamtmenge an verfügbarem Arbeitsspeicher im System und die Alterskategorie bzw. Generierung von Arbeitsspeicher, der einem Objekt zugeordnet ist.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 gibt Objekte zurück, die im verwalteten Speicher zugeordnet sind.The garbage collector tracks and reclaims objects allocated in managed memory. Der Garbage Collector führt in regelmäßigen Abständen Garbage Collection aus, um Speicher freizugeben, der Objekten zugeordnet ist, 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. Die Garbage Collection wird automatisch durchgeführt, wenn eine Speicher Anforderung nicht mithilfe des verfügbaren freien Speichers erfüllt werden kann.Garbage collection happens automatically when a request for memory cannot be satisfied using available free memory. Alternativ kann eine Anwendung Garbage Collection mithilfe der Collect -Methode erzwingen.Alternatively, an application can force garbage collection using the Collect method.

Die Garbage Collection besteht aus den folgenden Schritten:Garbage collection consists of the following steps:

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

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

  3. Der Garbage Collector gibt Objekte frei, auf die nicht verwiesen wird, und gibt Ihren Arbeitsspeicher 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:

Die Garbage Collector und nicht verwalteten Ressourcen The garbage collector and unmanaged resources
Objekt Alterung und Generationen Object aging and generations
Garbage Collection wird nicht zugelassenDisallowing garbage collection

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

Während einer Auflistung gibt das Garbage Collector kein Objekt frei, wenn ein oder mehrere Verweise auf das Objekt in verwaltetem Code gefunden werden.During a collection, the garbage collector will not free an object if it finds one or more references to the object in managed code. Der Garbage Collector erkennt jedoch keine Verweise auf ein Objekt aus nicht verwaltetem Code und gibt möglicherweise Objekte frei, die ausschließlich in nicht verwaltetem Code verwendet werden, es sei denn, dies wird ausdrücklich verhindert.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 stellt einen Mechanismus bereit, der verhindert, dass das Garbage Collector Objekte sammelt, die noch in nicht verwaltetem Code 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 verwalteten Speicher Belegungen behalten Implementierungen der Garbage Collector keine Informationen zu Ressourcen, die von einem Objekt gehalten werden, z. b. Datei Handles oder Datenbankverbindungen.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 verwendet, die freigegeben werden müssen, 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 werden Finalizer implementiert, indem die Object.Finalize -Methode außer Kraft gesetzt wird. C# Typen C++ , die in geschrieben wurden, bzw. implementieren jedoch debugtoren, die Compiler in eine Überschreibung von Object.Finalizeumwandeln.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. Wenn ein Objekt über einen Finalizer verfügt, wird es in den meisten Fällen vom Garbage Collector aufgerufen, bevor das Objekt freigegeben wird.In most cases, if an object has a finalizer, the garbage collector calls it prior to freeing the object. Der Garbage Collector ist jedoch nicht erforderlich, um Finalizer in allen Situationen aufzurufen. beispielsweise verhindert die SuppressFinalize -Methode explizit, 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. Außerdem ist es nicht erforderlich, dass der Garbage Collector einen bestimmten Thread zum Abschließen von Objekten verwendet oder die Reihenfolge sicherstellt, in der Finalizer für Objekte aufgerufen werden, die aufeinander verweisen, aber andernfalls für Garbage Collection 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 IDisposable Klassen die-Schnittstelle IDisposable.Dispose implementieren, die die Methode zum Ausführen von Ressourcenverwaltungs-und Cleanuptasks enthält.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, die Dispose implementieren, müssen als Teil Ihres-Klassen Vertrags angeben, wenn und, wenn Klassenconsumer die-Methode zum Bereinigen des-Objekts aufzurufen.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. In der-Garbage Collector wird die Dispose -Methode nicht standardmäßig aufgerufen. Implementierungen Dispose der-Methode können jedoch Methoden in der GC -Klasse aufzurufen, um das Finalisierungsverhalten der Garbage Collector anzupassen.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 objektfinalization und zum verwerfen-Muster finden Sie unter Bereinigen von nicht verwalteten Ressourcen.For more information on object finalization and the dispose pattern, see Cleaning Up Unmanaged Resources.

Objekt Alterung und GenerationenObject aging and generations

Der Garbage Collector im Common Language Runtime unterstützt die Objekt Alterung mithilfe von Generierungen.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 Generierungs Nummer (oder das Alter) eines Objekts gibt die Generierung an, zu der ein Objekt gehört.The generation number, or age, of an object indicates the generation to which an object belongs. Die kürzlich erstellten Objekte sind Teil der neueren Generationen und haben niedrigere Generations Zahlen als Objekte, die zuvor im Anwendungslebenszyklus erstellt wurden.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 letzten Generation befinden sich in der Generation 0.Objects in the most recent generation are in generation 0. Diese Implementierung des Garbage Collector unterstützt drei Generationen von Objekten, 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 MaxGeneration -Eigenschaft abrufen, um die maximale Generierungs Nummer zu ermitteln, die vom System unterstützt wird.You can retrieve the value of the MaxGeneration property to determine the maximum generation number supported by the system.

Mithilfe der Objekt Alterung können Anwendungen Garbage Collection auf eine bestimmte Generation von Generierungen abzielen, anstatt dass der Garbage Collector alle Generationen auswerten muss.Object aging allows applications to target garbage collection at a specific set of generations rather than requiring the garbage collector to evaluate all generations. Über Ladungen der Collect -Methode, die einen generation -Parameter enthalten, ermöglichen es Ihnen, die älteste Generierung anzugeben, die als Garbage Collection durchgeführt werden sollOverloads of the Collect method that include a generation parameter allow you to specify the oldest generation to be garbage collected.

Garbage Collection wird nicht zugelassenDisallowing garbage collection

.NET Framework 4.6.NET Framework 4.6Ab unterstützt die Garbage Collector einen Latenz Modus ohne GC-Region, der während der Ausführung kritischer Pfade verwendet werden kann, bei denen Garbage Collection die Leistung einer APP beeinträchtigen kann.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 Latenz Modus ohne GC-Region erfordert, dass Sie eine Arbeitsspeicher Menge angeben, die ohne Störungen der Garbage Collector zugeordnet werden kann.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 diesen Arbeitsspeicher zuordnen kann, führt die Laufzeit keine Garbage Collection aus, während der Code im kritischen Pfad ausgeführt wird.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 des kritischen Pfads der nicht-GC-Region, indem Sie eine der über Ladungen von TryStartNoGCRegionaufrufen.You define the beginning of the critical path of the no GC region by calling one of the overloads of the TryStartNoGCRegion. Sie geben das Ende seines kritischen Pfads an, indem EndNoGCRegion Sie die-Methode aufrufen.You specify the end of its critical path by calling the EndNoGCRegion method.

Aufrufe der TryStartNoGCRegion -Methode können nicht geschachtelt werden, und Sie sollten EndNoGCRegion die-Methode nur aufrufen, wenn sich die Laufzeit derzeit im Latenz Modus ohne GC-Region befindet.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. Anders ausgedrückt: Sie sollten nicht mehrmals aufrufen TryStartNoGCRegion (nach dem ersten Methodenaufruf werden nachfolgende Aufrufe nicht mehr erfolgreich ausgeführt), und Sie sollten nicht erwarten, dass EndNoGCRegion Aufrufe von erfolgreich sind, da der erste TryStartNoGCRegion Aufruf von erfolgreich war.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()

Ruft Arbeitsspeicherinformationen für die Garbage Collection ab.Gets garbage collection memory information.

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)

Ruft die Anzahl der Bytes ab, die über die Lebensdauer des Prozesses zugeordnet wurden.Gets a count of the bytes allocated over the lifetime of the process.

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