Кућа Развој Шта се финализира? - дефиниција из техопедије

Шта се финализира? - дефиниција из техопедије

Преглед садржаја:

Anonim

Дефиниција - Шта значи завршница?

Финализе је објектна метода која садржи код потребан за ослобађање неуправљаних ресурса и обављање операција чишћења пре одвоза смећа (ГЦ).


Метода финализације користи се за чишћење ресурса којима управља .НЕТ. Иако је .НЕТ оквир дизајниран за ослобађање управљаних ресурса имплицитно извршавањем задатака управљања меморијом, неуправљани апликативни ресурси - попут рукохвата датотека и веза са базом података - морају се изричито пустити.

Техопедиа објашњава Финализе

Док је финализирање дизајнирано тако да се ГЦ имплицитно позива, метода одлагања може се изричито позвати корисничким кодом ради ослобађања ресурса.


Финализе је слична традиционалним Ц ++ деструкторима, пошто је сваки одговоран за ослобађање објектних ресурса. Ц ++ деструктори се извршавају одмах када објект изађе из домета, док се финализација позива током чишћења објекта у ГЦ-у. У Ц #, финализација се не може директно позвати или поништити. Ако је деструктор деклариран, претвара се у методу финализације када се компилира програм.


Током финализације, треба избегавати доделу меморије или позивање виртуелних метода. Обим финализације треба заштитити тако да му се приступа само унутар исте класе или изведене класе. Довршење не би требало да се односи на било које друге предмете. У Ц # позиву финализирања директно на објекту који није његова основна класа је неважећа операција. Код за финализацију треба бити минималан без икаквих позива који могу блокирати нит позива. Како се финализација назива наменском нитом, њен код не треба користити локалну меморију нити било коју технику која захтева афинитет нити.


Коришћење финализе као резервног механизма за ослобађање неуправљане меморије или ресурса је неопходно због недостатка детерминизма и ефеката на перформансе ГЦ-а.

Ова дефиниција је написана у контексту .НЕТ
Шта се финализира? - дефиниција из техопедије