Ejemplo Garbage Collection Technology
Actualización: noviembre 2007
Este ejemplo presenta a los desarrolladores la recolección de elementos no utilizados en .NET Framework y muestra las características del diseño de clases que funcionan bien en un entorno de recolección de elementos no utilizados. El ejemplo también muestra cómo una aplicación puede controlar el comportamiento del recolector de elementos no utilizados; por ejemplo, forzando las recolecciones, promoviendo los objetos y trabajando con referencias débiles a los objetos.
Para obtener información sobre el uso de los ejemplos, vea los temas siguientes:
Para generar el ejemplo desde el símbolo del sistema
Abra una ventana del símbolo del sistema y navegue hasta el subdirectorio específico de uno de los lenguajes bajo el directorio GarbageCollection.
Escriba msbuild GarbageCollectionCS.sln o msbuild GarbageCollectionVB.sln en la línea de comandos, dependiendo del lenguaje de programación elegido. Por ejemplo, en el directorio C:\Documents and Setttings\nombre de usuario\Mis documentos\Samples\Technologies\GarbageCollection\VB, escriba msbuild GarbageCollectionVB.sln para generar la versión de Visual Basic.
Para generar el ejemplo mediante Visual Studio
Abra el Explorador de Windows y navegue hasta el subdirectorio específico de uno de los lenguajes bajo el directorio GarbageCollection.
Haga doble clic en el icono de GarbageCollectionCS.sln o GarbageCollectionVB.sln, dependiendo del lenguaje de programación elegido, para abrir el archivo en Visual Studio 2005.
En el menú Generar, haga clic en Generar solución.
Para ejecutar el ejemplo
Abra una ventana del símbolo del sistema y navegue hasta el directorio que contiene el nuevo archivo ejecutable.
Escriba GarbageCollection.exe en la línea de comandos.
Nota: El ejemplo es una aplicación de consola. Para poder ver el resultado, debe iniciarla desde la línea de comandos.
Requisitos
Versión de .NET Framework: 2.0, 1.1, 1.0
Comentarios
En el entorno Common Language Runtime administrado, el montón de elementos no utilizados recogido administra todos los objetos de las clases. La pila supervisa la duración de los objetos y sólo los libera cuando no se hace referencia a ellos en ninguna parte del programa. Esto garantiza que los objetos nunca pierdan memoria y que las referencias a ellos siempre sean válidas. Para mostrar que la finalización se produce en un subproceso especial, el ejemplo emplea la clase Thread para recuperar el código hash de los subprocesos. Revela que el código hash devuelto por una llamada a método normal tiene un valor distinto del devuelto durante la finalización.
Dentro del código fuente, el ejemplo hace referencia al espacio de nombres System.Threading que permite recuperar los valores del código hash para los subprocesos respectivos en los que se ejecutan los métodos de la aplicación y la recolección de elementos no utilizados.