Domov Razvoj Kaj je dokončno? - definicija iz tehopedije

Kaj je dokončno? - definicija iz tehopedije

Kazalo:

Anonim

Opredelitev - Kaj pomeni zaključek?

Finalize je objektna metoda, ki vsebuje kodo, ki je potrebna za sprostitev neurejenih virov in izvajanje operacij čiščenja pred zbiranjem smeti (GC).


Metoda dokončanja se uporablja za čiščenje virov, ki jih ne upravlja .NET. Čeprav je okvir .NET zasnovan tako, da sprosti upravljane vire z implicitnim izvajanjem nalog upravljanja pomnilnika, je treba nenadzorovane vire aplikacij, kot so ročaji datotek in povezave z bazo podatkov, izrecno sprostiti.

Tehopedia razlaga dokončno

Medtem ko je dokončno oblikovanje zasnovano tako, da ga GC implicitno pokliče, lahko postopek odstranjevanja izrecno pokliče uporabniška koda do prostih virov.


Finalize je podobna tradicionalnim uničevalnikom C ++, saj je vsak odgovoren za sprostitev objektnih virov. Destruktorji C ++ se izvajajo takoj, ko predmet izstopi iz obsega, medtem ko se med čiščenjem objekta v GC prikliče dokončanje. V C # dokončanja ni mogoče neposredno poklicati ali preglasiti. Če je destruktor razglašen, se pretvori v metodo dokončanja, ko se program zbere.


Med dokončanjem se je treba izogibati dodeljevanju pomnilnika ali klicanju virtualnih metod. Obseg dokončne obdelave je treba zaščititi tako, da je do njega dostopen le znotraj istega razreda ali iz njega izpeljanega razreda. Dokončanje ne sme navajati nobenih drugih predmetov. V C # je klic dokončnega dokončanja na predmetu, ki ni osnovni razred, neveljavna operacija. Koda za dokončanje mora biti minimalna, brez klicev, ki bi lahko blokirali klicno nit. Ko dokončna izbira imenuje nit, njena koda ne sme uporabljati lokalnega pomnilnika niti ali tehnike, ki zahteva pripadnost niti.


Uporaba dokončnega mehanizma kot rezervnega mehanizma za sprostitev nenadzorovanega pomnilnika ali virov je nujna zaradi pomanjkanja determinizma in učinkov na delovanje GC.

Ta definicija je bila napisana v okviru .NET
Kaj je dokončno? - definicija iz tehopedije