Hjem Utvikling Hva er sluttbehandling? - definisjon fra techopedia

Hva er sluttbehandling? - definisjon fra techopedia

Innholdsfortegnelse:

Anonim

Definisjon - Hva betyr sluttbruk?

Finalize er en objektmetode som inneholder koden som kreves for å frigjøre ubehandlede ressurser og utføre opprydningsoperasjoner før søppelinnsamling (GC).


Fullføringsmetoden brukes til å rydde opp i ressurser som ikke administreres av .NET. Selv om .NET-rammeverket er designet for å frigjøre administrerte ressurser ved implisitt å utføre minnehåndteringsoppgaver, må ustyrte applikasjonsressurser - som filhåndteringer og databaseforbindelser - eksplisitt frigis.

Techopedia forklarer Finalize

Mens sluttbehandling er designet for å implisitt kalles av GC, kan disponeringsmetoden eksplisitt kalles av brukerkode for å frigjøre ressurser.


Ferdiggjøring ligner på tradisjonelle C ++ - destruktører, da hver og en er ansvarlig for å frigjøre objektressurser. C ++ - destruktorer henrettes umiddelbart når et objekt går utenfor omfanget, mens sluttbehandling kalles under gjenoppretting av objekt ved GC. I C # kan sluttføringen ikke direkte ringes eller overstyres. Hvis en destruktor blir erklært, konverteres den til sluttføringsmetoden når programmet er satt sammen.


Under ferdigstillelse må hukommetildeling eller ringe virtuelle metoder unngås. Omfanget av sluttbehandling bør beskyttes slik at det bare nås innenfor samme klasse eller den avledede klassen. Fullfør bør ikke referere til andre objekter. I C # er det en ugyldig operasjon å ringe ferdigbehandle direkte på et annet objekt enn baseklassen. Finaliseringskoden skal være minimal uten at noen samtaler kan blokkere anropstråden. Etter hvert som sluttbehandling kalles av en dedikert tråd, skal koden ikke bruke trådlagring eller noen teknikk som krever trådtilhørighet.


Det er viktig å bruke sluttbehandling som en tilbakeslagsmekanisme for å frigjøre ustyrt minne eller ressurser på grunn av manglende determinisme og effekter på GC-ytelse.

Denne definisjonen ble skrevet i sammenheng med .NET
Hva er sluttbehandling? - definisjon fra techopedia