Még a mi programunkban sem tudja mind a 3 szálnál futtatni a véglegesítési metódust. "Ez a metódus eredetileg nem biztonságos Azt eredményezheti, hogy a véglegesítők meghívódnak az élő objektumokra, miközben más szálak egyidejűleg manipulálják ezeket az objektumokat, ami szabálytalan viselkedést vagy holtpontot eredményez. "
Miért érdemes elkerülni a véglegesítési módszert C?
Egy objektum Finalize metódusa nem hívhat meg metódusokat az alaposztályán kívül más objektumokon. Ez azért van, mert a többi hívott objektum összegyűjthető a hívó objektummal egy időben, például egy közös nyelvű futásidejű leállítás esetén.
Felülírjuk a véglegesítés módszerét?
A finailze metódust felül kell bírálni ahhoz, hogy egy objektum tartalmazza a tisztítási kódot, vagy megsemmisítse a rendszererőforrásokat, amelyet meg kell tenni, mielőtt az objektumot begyűjtik.
Mi történik, ha kivételt ad a Finalize metódus?
Ha a finalize metódus egy el nem fogott kivételt dob, a kivétel figyelmen kívül marad, és az objektum véglegesítése véget ér. … A finalize metódus által dobott kivételek leállítják az objektum véglegesítését, de egyébként figyelmen kívül hagyják.
Mi a célja a véglegesítési módszernek?
Az Object osztály véglegesítési metódusa egy olyan metódus, amelyet a szemétgyűjtő mindig közvetlenül a szemétgyűjtésre alkalmas objektum törlése/megsemmisítése előtt hív meg a tisztítási tevékenység végrehajtása érdekében.