MichaelB: Garbage Collector umgehen

Beitrag lesen

Hallo

OK, aktuelles Problem ist, das der Garbage Collektor bei Perl was löscht, was
ich eigentlich noch brauche. Ich habe was gehört von Referenzen in sich
verschachteln, damit das Objekt nicht löscht ...

Ich kenne zwar mich nicht mit dem Perl Garbage Collector aus, aber normalerweise arbeiten die so, dass solange eine Referenz darauf verweist die nicht "weggeräumt" werden. So sollte es auch der Perl-GC halten. Alles andere wäre ja unlogisch.
Wenn keine Referenz mehr darauf verweist hast Du ohnehin keine Möglichkeit mehr darauf zuzugreifen.
Deshalb verstehe ich auch Dein Problem nicht so ganz. Beschreibe es mal genauer.

Das ist Unfug. Damit stellst du hoechstens ein Memory Leek her. Und nichtmal das
dauerhaft: sobald das Script beendet ist, ist der Speicher aufgeraeumt, basta.

Memory-Leak? Bei sich gegenseitig referenzierenden Objekten? Also wenn der GC wie oben beschrieben arbeitet (wovon ich mal ausgehe), dann ist sowas schlicht und ergreifend nicht möglich!

Deine Alternativen habe ich dir aufgezaehlt: Serialisierung des Objektes,
sprich, du erstellst einen String, der das Objekt beschreibt oder CORBA, also
ein Server-Dienst, der das Objekt die ganze Zeit im Speicher haelt und ueber
eine Schnittstelle die Methoden zur Verfuegung stellt.

Ups .... was sind das nur für Vorschläge. Serialisieren tut man, wenn man ein Objekt "dauerhaft" (über die Laufzeit des Skripts hinaus) aufbewahren will oder übertragen möchte. Und Corba ..... man kann es für solche Dinge verwenden, aber ist doch arg übertrieben.

Wie kann ich den GarbageCollector umgehen und vorallem WIE realisiere ich das
dann?

Ich schließe mich hier CK an. Im Normalfall ist das umgehen nicht notwendig, ja sogar gefährlich.
Aber vielleicht bringt die genauere Schilderung Deines Problems Aufschluss über das, was Du willst.

Gruss
   MichaelB