Hogar Desarrollo ¿Qué es finalizar? - definición de techopedia

¿Qué es finalizar? - definición de techopedia

Tabla de contenido:

Anonim

Definición - ¿Qué significa Finalizar?

Finalizar es un método de objeto que contiene el código requerido para liberar recursos no administrados y realizar operaciones de limpieza antes de la recolección de basura (GC).


El método de finalización se usa para limpiar recursos no administrados por .NET. Aunque .NET Framework está diseñado para liberar recursos administrados mediante la realización implícita de tareas de administración de memoria, los recursos de aplicaciones no administradas, como identificadores de archivos y conexiones de bases de datos, deben liberarse explícitamente.

Techopedia explica Finalizar

Si bien finalize está diseñado para que GC lo invoque implícitamente, el código de usuario puede invocar explícitamente el método de disposición para liberar recursos.


Finalizar es similar a los destructores tradicionales de C ++, ya que cada uno es responsable de liberar los recursos del objeto. Los destructores de C ++ se ejecutan inmediatamente cuando un objeto se sale del alcance, mientras que se llama a finalize durante la limpieza de objetos en GC. En C #, finalize no se puede invocar o anular directamente. Si se declara un destructor, se convierte al método de finalización cuando se compila el programa.


Durante la finalización, se debe evitar la asignación de memoria o llamar a métodos virtuales. El alcance de finalización debe protegerse para que solo se acceda dentro de la misma clase o su clase derivada. Finalizar no debe hacer referencia a ningún otro objeto. En C #, llamar a finalizar directamente en un objeto que no sea su clase base es una operación no válida. El código de finalización debe ser mínimo sin ninguna llamada capaz de bloquear el hilo de llamada. Como finalize es invocado por un hilo dedicado, su código no debe usar almacenamiento local de hilos ni ninguna técnica que requiera afinidad de hilos.


El uso de finalizar como un mecanismo alternativo para liberar memoria o recursos no administrados es esencial, debido a la falta de determinismo y los efectos sobre el rendimiento del GC.

Esta definición fue escrita en el contexto de .NET
¿Qué es finalizar? - definición de techopedia