Auch in unserem Programm ist es nicht möglich, die Finalize-Methode für alle 3 Threads auszuführen. „Diese Methode ist von Natur aus unsicher Sie kann dazu führen, dass Finalizer für Live-Objekte aufgerufen werden, während andere Threads gleichzeitig diese Objekte manipulieren, was zu fehlerhaftem Verh alten oder Deadlock führt.“
Warum sollte die Finalize-Methode C vermieden werden?
Die Finalize-Methode eines Objekts sollte keine Methode für andere Objekte als die seiner Basisklasse aufrufen. Dies liegt daran, dass die anderen aufgerufenen Objekte zur gleichen Zeit wie das aufrufende Objekt erfasst werden können, wie z. B. beim Herunterfahren der Common Language Runtime.
Sollten wir die Finalize-Methode überschreiben?
Die Methode finailze sollte für ein Objekt überschrieben werden, um den Bereinigungscode einzuschließen oder die Systemressourcen zu beseitigen, was getan werden sollte, bevor das Objekt bereinigt wird.
Was passiert, wenn die Finalize-Methode eine Ausnahme auslöst?
Wenn eine nicht abgefangene Ausnahme von der finalize-Methode ausgelöst wird, wird die Ausnahme ignoriert und die Finalisierung dieses Objekts beendet. … Jede von der finalize-Methode ausgelöste Ausnahme bewirkt, dass die Finalisierung dieses Objekts angeh alten wird, ansonsten aber ignoriert wird.
Was ist der Zweck der Finalisierungsmethode?
Die Finalize-Methode der Object-Klasse ist eine Methode, die der Garbage Collector immer direkt vor dem Löschen/Zerstören des für die Garbage Collection geeigneten Objekts aufruft, um eine Aufräumaktion durchzuführen.