Razlika med odstranjevanjem () in dokončanjem ()

Ključna razlika - razpolagati () vs dokončati ()
 

The ključna razlika med dispose () in dokončno () je to odstranjevanje () mora izrecno poklicati programer, medtem ko ga finalize () pokliče zbiralnik smeti pred uničenjem predmeta.

Dispose () je metoda zapiranja ali sproščanja neurejenih virov, kot so datoteke, tokovi, ki jih hrani predmet. Dokončaj je metoda za izvajanje operacij čiščenja nenadzorovanih virov, ki jih ima trenutni objekt, preden objekt uniči.

VSEBINA

1. Pregled in ključne razlike
2. Kaj je odstranjevanje ()
3. Kaj je dokončno oblikovano ()
4. Podobnosti med odstranjevanjem () in dokončanjem ()
5. Vzporedna primerjava - razporedite () proti dokončno () v tabeli
6. Povzetek

Kaj je razpolagati ()?

Ena najpomembnejših prednosti .NET okvira je, da omogoča samodejno odvoz smeti. Samodejno sprosti pomnilnik predmetov, ki se ne uporabljajo. V programskih jezikih, kot sta C in C ++, mora programer sam upravljati pomnilnik. Toda v jezikih, kot je C #, ki je zgrajen na .NET okviru, ponuja zbiralnik smeti. Pomaga pri upravljanju spomina. Tega ni mogoče uporabiti za sprostitev neporabljenih pomnilniških virov. Za dosego te naloge se lahko uporabi metoda dispose ().

Metoda dispose () se lahko uporablja za sprostitev virov, kot so povezave z bazo podatkov, orodja za obdelavo datotek itd. Ta metoda se ne prikliče samodejno. Zato mora programer izvajati to metodo. Takoj, ko se prikliče ta metoda, se sprosti pomnilnik za določen neupravljan vir. Ta metoda je v vmesniku ID razglašena.

Kaj je dokončno ()?

Zbiralnik smeti pokliče le postopek dokončanja, ko se sklicevanje na nek predmet ne uporablja več. Ta metoda se imenuje tik pred uničenjem predmeta. Ta metoda se izvaja s pomočjo destruktorja. Način dokončanja je opredeljen v razredu java.lang.object. Ta metoda je razglašena za zaščiteno. Ni javno razglašeno, da bi se izognili dostopu do drugih razredov. Na splošno lahko metoda dodelave zmanjša delovanje programa, ker ne sprosti pomnilnika.

Kakšna je podobnost med odstranjevanjem () in dokončanjem ()?

  • Tako dispose () kot finalize () se lahko uporabljata za sprostitev pomnilnika, ki je dodeljen za neurejen vir.

Kakšna je razlika med odstranjevanjem () in dokončanjem ()?

dispose () vs finalize ()

Dispose () je metoda zapiranja ali sproščanja neurejenih virov, kot so datoteke, tokovi, ki jih hrani predmet. Dokončaj je metoda za izvajanje operacij čiščenja nenadzorovanih virov, ki jih ima trenutni objekt, preden objekt uniči.
 Cilj
Metoda odstranjevanja se uporablja za sprostitev neupravljanih virov, ko se prikličejo. Metoda dokončanja se uporablja za sprostitev neupravljanih virov, preden se objekt uniči.
Določen vmesnik ali razred
Dispose () je opredeljen v vmesniku IDisposable vmesnik. Dokončaj () je določen v razredu java.lang.object.
 Metoda pozivanja
Način odstranjevanja sproži programer. Način dokončanja se skliče z zbiralcem smeti.
Specifični dostop
Način odlaganja je javen. Metoda dokončanja je zaščitena.
Hitrost
Način odlaganja se sproži takoj. Metoda dokončanja se prikliče počasi.
Izvedba
Odlaganje ne bo zmanjšalo učinkovitosti programa. Način dokončanja lahko zmanjša delovanje programa.

Povzetek - odstranjevanje () vs dokončati ()

Ta članek obravnava razliko med metodami odstranjevanja in dokončanja v C #. Razlika med odstranjevanjem () in dokončanjem () je v tem, da mora programer izrecno poklicati odstranjevanje (), medtem ko zbiralec smeti pred uničenjem predmeta sproži zbiralnik smeti.

Referenca:

1.Implement Dokončati in odstraniti za čiščenje neupravljanih virov. Na voljo tukaj  
2.Sharma, Nitya. "Nazaj k osnovam - zavrzite končno izvedbo." C # kotiček. Na voljo tukaj  

Vljudnost slik:

1.'Csharp Logo'Byres Andres15alvarez - Lastno delo, (CC BY-SA 4.0) prek Commons Wikimedia