Itthon Fejlesztés Mi a véglegesítés? - meghatározás a techopedia alapján

Mi a véglegesítés? - meghatározás a techopedia alapján

Tartalomjegyzék:

Anonim

Meghatározás - Mit jelent a véglegesítés?

A véglegesítés egy objektum módszer, amely tartalmazza a nem kezelt erőforrások felszabadításához és a szemétszállítás előtti tisztítási műveletek elvégzéséhez szükséges kódot.


A véglegesítési módszert az .NET által nem kezelt erőforrások tisztítására használják. Noha a .NET-keretrendszert úgy tervezték, hogy a kezelt erőforrásokat memóriakezelési feladatok közvetett elvégzésével engedje szabadon, a nem kezelt alkalmazás erőforrásait - például fájlkezelőket és adatbázis-kapcsolatokat - kifejezetten fel kell engedni.

A Techopedia magyarázza a Finalize-t

Noha a véglegesítést úgy tervezték, hogy azt a GC implicit módon hívja meg, a dispose módszert kifejezetten felhasználói kóddal lehet meghívni az erőforrások felszabadításához.


A véglegesítés hasonló a hagyományos C ++ destruktorokhoz, mivel mindegyik felelős az objektum erőforrások felszabadításáért. A C ++ destruktorokat azonnal végrehajtják, amikor egy objektum kialszik a hatókörről, míg a véglegesítést az objektum GC-ben történő tisztításakor hívják. A C #-ban a véglegesítés nem hívható meg közvetlenül és nem felülbírálható. Ha egy pusztítót deklarálnak, akkor a program összeállításakor átváltják a véglegesítési módszerre.


A véglegesítés során kerülni kell a memóriaelosztást vagy a virtuális módszerek hívását. A véglegesítés hatókörét oly módon kell védeni, hogy csak ugyanazon osztályon belül vagy annak származtatott osztályán férhessen hozzá. A véglegesítésnek nem szabad hivatkoznia más objektumokra. A C # esetében a véglegesítés hívása közvetlenül az alaposztálytól eltérő objektumon érvénytelen művelet. A befejező kódnak minimálisnak kell lennie, anélkül, hogy olyan hívások lennének, amelyek akadályozhatnák a hívó szálat. Mivel a véglegesítést egy dedikált szál hívja, annak kódja nem használhat szálak helyi tárolását vagy olyan technikát, amely szálak affinitását igényli.


A determinizmus hiánya és a GC teljesítményére gyakorolt ​​hatások miatt elengedhetetlen a finalize mint menedzsment memória vagy erőforrások felszabadításának tartalék mechanizmusa.

Ezt a meghatározást a .NET összefüggésben írták meg
Mi a véglegesítés? - meghatározás a techopedia alapján