Mājas Attīstība Kas tiek pabeigts? - definīcija no tehopedijas

Kas tiek pabeigts? - definīcija no tehopedijas

Satura rādītājs:

Anonim

Definīcija - ko nozīmē pabeigt?

Pabeigt ir objekta metode, kas satur kodu, kas nepieciešams neapsaimniekotu resursu atbrīvošanai un tīrīšanas darbību veikšanai pirms atkritumu savākšanas (GC).


Pabeigšanas metode tiek izmantota, lai attīrītu resursus, kurus nepārvalda .NET. Lai arī .NET ietvars ir paredzēts pārvaldītu resursu atbrīvošanai, netieši veicot atmiņas pārvaldības uzdevumus, nepārvaldīti lietojumprogrammu resursi - piemēram, failu rokturi un datu bāzes savienojumi - ir skaidri jāatbrīvo.

Techopedia paskaidro Finalize

Kaut arī pabeigšana ir paredzēta GC netiešai izsaukšanai, utilizācijas metodi var tieši izsaukt ar lietotāja kodu, lai atbrīvotu resursus.


Pabeigšana ir līdzīga tradicionālajiem C ++ iznīcinātājiem, jo ​​katrs ir atbildīgs par objekta resursu atbrīvošanu. C ++ iznīcinātāji tiek izpildīti nekavējoties, kad objekts iziet no darbības jomas, turpretī pabeigšana tiek izsaukta objekta tīrīšanas laikā GC. C # versijā pabeigšanu nevar tieši izsaukt vai ignorēt. Ja tiek pasludināts iznīcinātājs, tad programmas sastādīšanas laikā tas tiek pārveidots par pabeigšanas metodi.


Pabeigšanas laikā ir jāizvairās no atmiņas iedalīšanas vai virtuālo metožu izsaukšanas. Pabeigšanas joma ir jāaizsargā tā, lai tai piekļūtu tikai tajā pašā klasē vai no tās atvasinātajā klasē. Pabeigšanai nevajadzētu atsaukties uz citiem objektiem. C # versijā zvana pabeigšana tieši objektam, kas nav tā pamatklase, ir nederīga darbība. Pabeigšanas kodam jābūt minimālam, bez jebkādiem zvaniem, kas varētu bloķēt izsaucēja pavedienu. Tā kā pabeigšanu izsauc īpašs pavediens, tā kodā nevajadzētu izmantot pavedienu lokālo krātuvi vai jebkuru metodi, kurai nepieciešama pavediena radniecība.


Ir ļoti svarīgi izmantot finalize kā rezerves mehānismu nepārvaldītas atmiņas vai resursu atbrīvošanai, jo trūkst determinisma un ietekmes uz GC veiktspēju.

Šī definīcija tika uzrakstīta .NET kontekstā
Kas tiek pabeigts? - definīcija no tehopedijas