Σπίτι Ανάπτυξη Τι τελειώνει; - ορισμός από την τεχνολογία

Τι τελειώνει; - ορισμός από την τεχνολογία

Πίνακας περιεχομένων:

Anonim

Ορισμός - Τι σημαίνει Finalize;

Η οριστικοποίηση είναι μια μέθοδος αντικειμένου που περιέχει τον κώδικα που απαιτείται για την απελευθέρωση μη διαχειριζόμενων πόρων και την εκτέλεση εργασιών καθαρισμού πριν από τη συλλογή απορριμμάτων (GC).


Η μέθοδος οριστικοποίησης χρησιμοποιείται για τον καθαρισμό πόρων που δεν διαχειρίζεται το .NET. Παρόλο που το .NET Framework έχει σχεδιαστεί για να απελευθερώσει τους διαχειριζόμενους πόρους με έμμεσες εργασίες διαχείρισης μνήμης, οι μη κυβερνητικοί πόροι εφαρμογών - όπως οι λαβές αρχείων και οι συνδέσεις βάσεων δεδομένων - πρέπει να απελευθερωθούν ρητά.

Η Techopedia εξηγεί το Finalize

Ενώ η οριστικοποίηση έχει σχεδιαστεί για να καλείται σιωπηρά από την GC, η μέθοδος απόρριψης μπορεί να καλείται ρητά από τον κώδικα χρήστη για να ελευθερώσει πόρους.


Ο Finalize είναι παρόμοιος με τους παραδοσιακούς καταστροφείς C ++, καθώς κάθε ένας είναι υπεύθυνος για την απελευθέρωση πόρων πόρων. Οι καταστροφείς C ++ εκτελούνται αμέσως όταν ένα αντικείμενο ξεφεύγει από το πεδίο εφαρμογής, ενώ το finalize ονομάζεται κατά την εκκαθάριση αντικειμένων στο GC. Στο C #, η οριστικοποίηση δεν μπορεί να κληθεί ή να αντικατασταθεί άμεσα. Εάν δηλωθεί ένας καταστροφικός παράγων, μετατρέπεται στη μέθοδο οριστικοποίησης όταν συντάσσεται το πρόγραμμα.


Κατά τη διάρκεια της οριστικοποίησης, η απομνημόνευση μνήμης ή η κλήση εικονικών μεθόδων πρέπει να αποφεύγονται. Το πεδίο οριστικοποίησης θα πρέπει να προστατεύεται έτσι ώστε να είναι προσπελάσιμο μόνο στην ίδια τάξη ή την κλάση που παράγεται. Η ολοκλήρωση δεν πρέπει να αναφέρεται σε άλλα αντικείμενα. Στο C #, η κλήση οριστικοποιείται απευθείας σε ένα αντικείμενο διαφορετικό από την κατηγορία βάσης του είναι μια μη έγκυρη λειτουργία. Ο κωδικός οριστικοποίησης πρέπει να είναι ελάχιστος χωρίς κλήσεις ικανές να μπλοκάρουν το νήμα κλήσης. Καθώς ο ορισμός οριστικοποιείται από ένα ειδικό νήμα, ο κώδικας του δεν θα πρέπει να χρησιμοποιεί τοπική αποθήκευση νήματος ή οποιαδήποτε τεχνική που να απαιτεί συγγένεια νήματος.


Η χρήση του ορισμού ως μηχανισμού εναλλαγής για την απελευθέρωση μη διαχειριζόμενης μνήμης ή πόρων είναι απαραίτητη λόγω έλλειψης ντετερμινισμού και επιδράσεων στην απόδοση του GC.

Αυτός ο ορισμός γράφτηκε στο πλαίσιο του .NET
Τι τελειώνει; - ορισμός από την τεχνολογία