Dom Razvoj Što je dovršeno? - definicija iz tehopedije

Što je dovršeno? - definicija iz tehopedije

Sadržaj:

Anonim

Definicija - Što znači finalizacija?

Finalize je objektna metoda koja sadrži kôd potreban za oslobađanje neupravljanih resursa i obavljanje operacija čišćenja prije odvoza smeća (GC).


Metoda dovršetka koristi se za čišćenje resursa kojima upravlja .NET. Iako je .NET okvir dizajniran za oslobađanje upravljanih resursa implicitno izvršavanjem zadataka upravljanja memorijom, neupravljani aplikacijski resursi - poput rukohvata datoteka i veza s bazom podataka - moraju se izričito otpustiti.

Tehopedia objašnjava Finalize

Dok je finaliziranje dizajnirano tako da se GC implicitno poziva, metoda odlaganja može se izričito pozvati korisničkim kodom na slobodne resurse.


Finalize je slična tradicionalnim C ++ razaračima, jer je svaki odgovoran za oslobađanje resursa objekta. C ++ destruktori se izvršavaju odmah kad objekt izađe iz područja primjene, dok se finalizacija poziva tijekom čišćenja objekta u GC-u. U C #, finaliziranje se ne može izravno pozvati ili poništiti. Ako je destruktor proglašen, pretvara se u metodu dovršetka kad se program sastavi.


Tijekom finalizacije mora se izbjegavati raspodjela memorije ili pozivanje virtualnih metoda. Obim dovršetka treba biti zaštićen tako da mu se može pristupiti samo unutar iste klase ili izvedene klase. Završna obrada ne smije upućivati ​​na druge predmete. U C # pozivu finaliziranja izravno na objektu koji nije njegov osnovni razred je nevažeća operacija. Kôd za dovršavanje trebao bi biti minimalan bez ikakvih poziva koji mogu blokirati nit poziva. Kako se finalizacija zove namjenskim nitom, njezin kôd ne smije koristiti lokalnu pohranu niti niti bilo koju tehniku ​​koja zahtijeva afinitet niti.


Korištenje finalize kao rezervnog mehanizma za oslobađanje neupravljane memorije ili resursa je neophodno zbog nedostatka determinizma i učinaka na performanse GC-a.

Ova je definicija napisana u kontekstu .NET
Što je dovršeno? - definicija iz tehopedije