Taula de continguts:
Definició: què significa Finalitzar?
Finalize és un mètode d'objecte que conté el codi necessari per alliberar recursos no gestionats i realitzar operacions de neteja abans de la recollida d'escombraries (GC).
El mètode final es fa servir per netejar recursos no gestionats per .NET. Tot i que el .NET framework està dissenyat per alliberar recursos gestionats executant de forma implícita tasques de gestió de memòria, els recursos d’aplicació no gestionats (com ara mànecs de fitxers i connexions de bases de dades) s’han de publicar explícitament.
Techopedia explica Finalitzar
Si bé finalitzar està dissenyat per ser anomenat implícitament per GC, el mètode de disposició pot ser anomenat explícitament per codi d'usuari per alliberar recursos.
Finalitzar és similar als destructors tradicionals C ++, ja que cadascú s’encarrega d’alliberar recursos d’objectes. Els destructors C ++ s’executen immediatament quan un objecte surt de l’àmbit, mentre que finalitzar s’anomena durant la neteja d’objectes a GC. A C #, el final no es pot dir directament o anul·lar. Si es declara un destructor, es converteix al mètode final quan es compila el programa.
Durant la finalització, s’ha d’evitar l’assignació de memòria o els mètodes virtuals de trucada. S'ha de protegir l'àmbit de finalització de manera que només s'hi accedeixi dins de la mateixa classe o la seva classe derivada. Finalitzar no hauria de fer referència a cap altre objecte. A C #, anomenar finalitzar directament sobre un objecte que no sigui la seva classe base és una operació no vàlida. El codi de finalització hauria de ser mínim sense cap trucada capaç de bloquejar el fil de trucada. Com es diu finalitzar per un fil dedicat, el seu codi no hauria d'utilitzar emmagatzematge local de fil o cap tècnica que requereixi afinitat del fil.
L’ús de la finalització com a mecanisme d’incompliment per alliberar memòria o recursos no gestionats és essencial, a causa de la manca de determinisme i els efectes sobre el rendiment de GC.
