GC GC GC GC Class

Definición

Controla el recolector de elementos no utilizados del sistema, un servicio que recupera de forma automática la memoria que no se utiliza.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
Herencia

Ejemplos

El ejemplo siguiente usa varios métodos de GC para obtener información de memoria sobre un bloque de objetos no utilizados y la generación e imprimirlo en la consola.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. Los objetos no utilizados, a continuación, se recopilan y se muestran los totales de memoria resultantes.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

Comentarios

El recolector de elementos no utilizados es un componente de common language runtime que controla la asignación y liberación de memoria administrada.The garbage collector is a common language runtime component that controls the allocation and release of managed memory. Influir en los métodos de esta clase cuando se realiza la recolección de elementos en un objeto y, cuando se liberan los recursos asignados por un objeto.The methods in this class influence when garbage collection is performed on an object and when resources allocated by an object are released. Propiedades de esta clase proporcionan información acerca de la cantidad total de memoria disponible en el sistema y la categoría de edad o la generación de memoria asignada a un objeto.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.

El recolector de elementos no utilizados realiza un seguimiento y reclama los objetos asignados en memoria administrada.The garbage collector tracks and reclaims objects allocated in managed memory. Periódicamente, el recolector de elementos no utilizados realiza la recolección para liberar memoria asignada a objetos para los que no hay ninguna referencia válida.Periodically, the garbage collector performs garbage collection to reclaim memory allocated to objects for which there are no valid references. Colección de elementos no utilizados se produce automáticamente cuando no se puede satisfacer una solicitud de memoria utilizando la memoria libre disponible.Garbage collection happens automatically when a request for memory cannot be satisfied using available free memory. O bien, una aplicación puede forzar la colección de elementos no utilizados mediante la Collect método.Alternatively, an application can force garbage collection using the Collect method.

Recolección de elementos consta de los pasos siguientes:Garbage collection consists of the following steps:

  1. El recolector de elementos no utilizados busca los objetos administrados que se hace referencia en código administrado.The garbage collector searches for managed objects that are referenced in managed code.

  2. El recolector de elementos no utilizados intenta finalizar los objetos que no se hace referencia.The garbage collector tries to finalize objects that are not referenced.

  3. El recolector de elementos no utilizados libera los objetos que no se hace referencia y reclama su memoria.The garbage collector frees objects that are not referenced and reclaims their memory.

En este tema, se incluyen las siguientes secciones:This topic includes the following sections:

El recolector de elementos no utilizados y los recursos no administrados The garbage collector and unmanaged resources
Generaciones y caducidad de objetos Object aging and generations
Impedir la recolección de elementosDisallowing garbage collection

El recolector de elementos no utilizados y los recursos no administradosThe garbage collector and unmanaged resources

Durante una recolección, el recolector de elementos no utilizados no liberar un objeto si encuentra una o varias referencias al objeto en el código administrado.During a collection, the garbage collector will not free an object if it finds one or more references to the object in managed code. Sin embargo, el recolector de elementos no utilizados no reconoce las referencias a un objeto desde código no administrado y puede liberar objetos que se utilizan exclusivamente en código no administrado, a menos que explícitamente no hacerlo.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. El KeepAlive método proporciona un mecanismo que impide que el recolector de elementos de recopilación de objetos que están en uso en código no administrado.The KeepAlive method provides a mechanism that prevents the garbage collector from collecting objects that are still in use in unmanaged code.

Aparte de las asignaciones de memoria administrada, las implementaciones del recolector de elementos no utilizados no mantienen información acerca de los recursos mantenidos por un objeto, como identificadores de archivos o las conexiones de base de datos.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. Cuando un tipo utiliza recursos no administrados que deben liberarse antes de que se recuperan instancias del tipo, el tipo puede implementar un finalizador.When a type uses unmanaged resources that must be released before instances of the type are reclaimed, the type can implement a finalizer.

En la mayoría de los casos, los finalizadores se implementan mediante la invalidación de la Object.Finalize método; sin embargo, los tipos escritos en C# o C++ implementan destructores, que los compiladores se convierten en un reemplazo de 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. En la mayoría de los casos, si un objeto tiene un finalizador, el recolector de elementos no utilizados lo llama antes de liberar el objeto.In most cases, if an object has a finalizer, the garbage collector calls it prior to freeing the object. Sin embargo, el recolector de elementos no utilizados no es necesario para llamar a los finalizadores en todas las situaciones; Por ejemplo, el SuppressFinalize método explícitamente impide que un finalizador del objeto que se llama.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. Además, el recolector de elementos no utilizados no tiene que usar un subproceso específico para finalizar los objetos o garantiza el orden en el que se llama a los finalizadores para objetos que hacen referencia entre sí, pero están disponibles para la recolección.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.

En escenarios donde se deben liberar los recursos en un momento determinado, las clases pueden implementar la IDisposable interfaz, que contiene el IDisposable.Dispose método que realiza las tareas de administración y limpieza de recursos.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. Las clases que implementan Dispose especifique, como parte de su contrato de clase, cuando los consumidores de la clase llama al método para limpiar el objeto.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. El recolector de elementos no utilizados no, de forma predeterminada, llama a la Dispose método; sin embargo, las implementaciones de la Dispose método puede llamar a métodos el GC clase para personalizar el comportamiento de finalización del recolector de elementos no utilizados.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.

Para obtener más información sobre la finalización del objeto y el patrón de dispose, vea limpiar recursos no administrados.For more information on object finalization and the dispose pattern, see Cleaning Up Unmanaged Resources.

Generaciones y caducidad de objetosObject aging and generations

El recolector de elementos no utilizados de common language runtime admite la edad de los objetos mediante las generaciones.The garbage collector in the common language runtime supports object aging using generations. Una generación es una unidad de medida de la antigüedad relativa de los objetos en memoria.A generation is a unit of measure of the relative age of objects in memory. El número de generación o la edad de un objeto indica la generación a la que pertenece un objeto.The generation number, or age, of an object indicates the generation to which an object belongs. Los objetos creados más recientemente forman parte de las generaciones más recientes y tienen los números más bajos de generación de ciclo de los objetos creados anteriormente en la vida de la aplicación.Objects created more recently are part of newer generations, and have lower generation numbers than objects created earlier in the application life cycle. Son objetos de la generación más reciente en la generación 0.Objects in the most recent generation are in generation 0. Esta implementación del recolector de elementos no utilizados admite tres generaciones de objetos, las generaciones 0, 1 y 2.This implementation of the garbage collector supports three generations of objects, generations 0, 1, and 2. Puede recuperar el valor de la MaxGeneration propiedad para determinar el número de generación máximo admitido por el sistema.You can retrieve the value of the MaxGeneration property to determine the maximum generation number supported by the system.

Caducidad de objetos permite que las aplicaciones dirijan la recolección en un conjunto específico de generaciones en lugar de requerir el recolector de elementos no utilizados evaluar todas las generaciones.Object aging allows applications to target garbage collection at a specific set of generations rather than requiring the garbage collector to evaluate all generations. Las sobrecargas de los Collect método que incluyen un generation parámetro le permiten especificar la generación más antigua se recolecte.Overloads of the Collect method that include a generation parameter allow you to specify the oldest generation to be garbage collected.

Impedir la recolección de elementosDisallowing garbage collection

A partir de la .NET Framework 4.6.NET Framework 4.6, el recolector de elementos no utilizados es compatible con un GC región modo de no latencia que se puede usar durante la ejecución de las rutas críticas en qué elementos no utilizados colección puede afectar al rendimiento de una aplicación.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. El modo de latencia ninguna región de GC requiere que especifique una cantidad de memoria que se puede asignar sin interferencias del recolector de elementos no utilizados.The no GC region latency mode requires that you specify an amount of memory that can be allocated without interference from the garbage collector. Si el tiempo de ejecución puede asignar memoria, el tiempo de ejecución no realizará una colección de elementos no utilizados mientras se está ejecutando código en la ruta crítica.If the runtime can allocate that memory, the runtime will not perform a garbage collection while code in the critical path is executing.

Definir el principio de la ruta crítica de la región de GC no mediante una llamada a una de las sobrecargas de los TryStartNoGCRegion.You define the beginning of the critical path of the no GC region by calling one of the overloads of the TryStartNoGCRegion. Especifique el final de su ruta de acceso crítica mediante una llamada a la EndNoGCRegion método.You specify the end of its critical path by calling the EndNoGCRegion method.

No se pueden anidar las llamadas a la TryStartNoGCRegion solo debe llamar al método y el EndNoGCRegion método si el tiempo de ejecución está actualmente en modo de no latencia de la región de 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. En otras palabras, no debería llamar TryStartNoGCRegion varias veces (después de la primera llamada de método, las llamadas subsiguientes no surtirán efecto), y no debe esperar que las llamadas a EndNoGCRegion sea correcta sólo porque la primera llamada a TryStartNoGCRegion se realizó correctamente.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.

Propiedades

MaxGeneration MaxGeneration MaxGeneration MaxGeneration

Obtiene el número máximo de generaciones que el sistema admite en la actualidad.Gets the maximum number of generations that the system currently supports.

Métodos

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

Informa al tiempo de ejecución de una asignación grande de memoria no administrada que se debe tener en cuenta al programar la recolección de elementos no utilizados.Informs the runtime of a large allocation of unmanaged memory that should be taken into account when scheduling garbage collection.

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

Cancela el registro de una notificación de recolección de elementos no utilizados.Cancels the registration of a garbage collection notification.

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

Fuerza a que se lleve a cabo una recolección de elementos no utilizados de todas las generaciones.Forces an immediate garbage collection of all generations.

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

Fuerza a que se lleve a cabo inmediatamente la recolección de elementos no utilizados desde la generación 0 hasta la generación especificada.Forces an immediate garbage collection from generation 0 through a specified generation.

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

Fuerza una recolección de elementos no utilizados desde la generación 0 hasta la generación especificada, en el momento especificado por el valor GCCollectionMode.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)

Fuerza una recolección de elementos no utilizados de generación 0 en una generación especificada, en un momento especificado por un valor de GCCollectionMode, con un valor que especifica si la recolección debe ser de bloqueo.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)

Fuerza una recolección de elementos no utilizados de generación 0 en una generación especificada, en un momento especificado por un valor de GCCollectionMode, con valores que especifican si la recolección debe ser de bloqueo y compactante.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)

Devuelve el número de veces que se ha producido la recolección de elementos no utilizados para la generación de objetos especificada.Returns the number of times garbage collection has occurred for the specified generation of objects.

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

Finaliza el modo de no latencia en la región GC.Ends the no GC region latency mode.

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

Obtiene el número total de bytes asignados al subproceso actual desde el principio de su duración.Gets the total number of bytes allocated to the current thread since the beginning of its lifetime.

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

Devuelve el número de generación actual del objeto especificado.Returns the current generation number of the specified object.

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

Devuelve el número de generación actual del destino de una referencia débil especificada.Returns the current generation number of the target of a specified weak reference.

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

Recupera el número de bytes que se considera que están asignados en la actualidad.Retrieves the number of bytes currently thought to be allocated. Un parámetro indica si este método puede esperar un breve intervalo de tiempo antes de regresar, para permitir que el sistema recoja los elementos no utilizados y finalice los objetos.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)

Hace referencia al objeto especificado, convirtiéndolo en un objeto no válido para la recolección de elementos no utilizados desde el principio de la rutina actual hasta el momento en que se llamó a este método.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)

Especifica que debe emitirse una notificación de recolección de elementos no utilizados cuando las condiciones favorecen la recolección completa de elementos no utilizados y cuando se ha completado la recolección.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)

Informa al tiempo de ejecución de que se ha liberado la memoria no administrada y ya no se necesita tener en cuenta al programar la recolección de elementos no utilizados.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)

Solicita que el sistema llame al finalizador del objeto especificado, para el que previamente se ha llamado a SuppressFinalize(Object).Requests that the system call the finalizer for the specified object for which SuppressFinalize(Object) has previously been called.

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

Solicita que Common Language Runtime no llame al finalizador del objeto especificado.Requests that the common language runtime not call the finalizer for the specified object.

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

Intenta suspender la recolección de elementos durante la ejecución de una ruta crítica si una cantidad específica de memoria está disponible.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)

Intenta suspender la recolección de elementos no usados durante la ejecución de una ruta crítica si una cantidad especificada de memoria está disponible y controla si el recolector de elementos no usados realiza una recolección de elementos no usados de bloqueo completa si no hay suficiente memoria disponible inicialmente.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)

Intenta suspender la recolección de elementos no usados durante la ejecución de una ruta crítica si una cantidad específica de memoria está disponible para los montones de objetos pequeños y grandes.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)

Intenta suspender la recolección de elementos no usados durante la ejecución de una ruta crítica si una cantidad especificada de memoria está disponible para los montones de objetos grandes y pequeños, y controla si el recolector de elementos no usados realiza una recolección de elementos no usados de bloqueo completa si no hay suficiente memoria disponible inicialmente.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()

Devuelve el estado de una notificación registrada para determinar si es inminente una recolección completa de elementos no utilizados bloqueada por parte de Common Language Runtime.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)

Devuelve el estado de una notificación registrada, en un tiempo de espera especificado, para determinar si una recolección completa de elementos no utilizados bloqueada por parte de Common Language Runtime es inminente.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()

Devuelve el estado de una notificación registrada para determinar si se ha completado una recolección completa de elementos no utilizados bloqueada por parte de Common Language Runtime.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)

Devuelve el estado de una notificación registrada, en un tiempo de espera especificado, para determinar si se ha completado una recolección completa de elementos no utilizados bloqueada por parte de Common Language Runtime.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()

Suspende el subproceso actual hasta que el subproceso que está procesando la cola de finalizadores vacíe dicha cola.Suspends the current thread until the thread that is processing the queue of finalizers has emptied that queue.

Se aplica a

Consulte también: