Logo cs.boatexistence.com

Proč byste se měli vyhnout metodě finalizace?

Obsah:

Proč byste se měli vyhnout metodě finalizace?
Proč byste se měli vyhnout metodě finalizace?

Video: Proč byste se měli vyhnout metodě finalizace?

Video: Proč byste se měli vyhnout metodě finalizace?
Video: 🚀 AMAZON 2.0 je zpět! - ONLINE OBCHOD za 6 hodin - 2. část 2024, Smět
Anonim

Dokonce ani v našem programu není možné spustit metodu finalizace pro všechna 3 vlákna. “Tato metoda je ze své podstaty nebezpečná Může mít za následek volání finalizátorů na živé objekty, zatímco ostatní vlákna souběžně s těmito objekty manipulují, což vede k nevyzpytatelnému chování nebo uváznutí.”

Proč je třeba se vyhnout finalizaci metody C?

Metoda Finalize objektu by neměla volat metodu na žádný jiný objekt než na objekt jeho základní třídy. Je to proto, že ostatní volané objekty by mohly být shromážděny současně s volajícím objektem, jako v případě vypnutí běžného jazykového modulu runtime.

Máme přepsat metodu Finalize?

Metoda finailze by měla být přepsána, aby objekt obsahoval kód čištění nebo zlikvidoval systémové prostředky, které by měly být provedeny předtím, než bude objekt sesbírán.

Co se stane, když je metodou Finalize vyvolána výjimka?

Pokud je metodou finalize vyvolána nezachycená výjimka, výjimka je ignorována a finalizace tohoto objektu skončí. … Jakákoli výjimka vyvolaná metodou finalize způsobí, že se finalizace tohoto objektu zastaví, ale jinak je ignorována.

Jaký je účel metody finalizace?

Metoda finalize třídy Object je metoda, kterou Garbage Collector vždy volá těsně před smazáním/zničením objektu, který je způsobilý pro Garbage Collection, aby provedl úklid.

Doporučuje: