De ce ar trebui evitată metoda de finalizare?

Cuprins:

De ce ar trebui evitată metoda de finalizare?
De ce ar trebui evitată metoda de finalizare?

Video: De ce ar trebui evitată metoda de finalizare?

Video: De ce ar trebui evitată metoda de finalizare?
Video: Finalizers - The not so good, the bad and the ugly by Gautam Singh 2024, Decembrie
Anonim

Chiar în programul nostru nu poate rula metoda de finalizare pentru toate cele 3 fire. „Această metodă este în mod inerent nesigură Poate duce la apelarea finalizatoarelor pe obiecte active, în timp ce alte fire de execuție manipulează concomitent acele obiecte, ceea ce duce la un comportament neregulat sau blocaj.”

De ce ar trebui evitată metoda de finalizare C?

Metoda Finalize a unui obiect nu ar trebui să apeleze o metodă pe niciun alt obiect decât cel al clasei sale de bază. Acest lucru se datorează faptului că celel alte obiecte care sunt apelate ar putea fi colectate în același timp cu obiectul apelant, cum ar fi în cazul unei închideri a timpului de rulare a limbajului comun.

Ar trebui să suprascriem metoda Finalize?

Metoda finailze ar trebui să fie înlocuită pentru ca un obiect să includă codul de curățare sau să elimine resursele de sistem care ar trebui să fie făcute înainte ca obiectul să fie colectat de gunoi.

Ce se întâmplă dacă o excepție este aruncată prin metoda Finalize?

Dacă o excepție neprinsă este aruncată de metoda finalize, excepția este ignorată și finalizarea acelui obiect se încheie. … Orice excepție aruncată de metoda finalize face ca finalizarea acestui obiect să fie oprită, dar altfel este ignorată.

Care este scopul metodei de finalizare?

Metoda finalize a clasei Object este o metodă pe care Colectorul de gunoi o apelează întotdeauna chiar înainte de ștergerea/distrugerea obiectului care este eligibil pentru Garbage Collection, astfel încât să efectueze o activitate de curățare.

Recomandat: