Referenzzähler
aus Wikipedia, der freien Enzyklopädie
In der Programmierung verwendet man Referenzzähler, um die Anzahl der einem bestimmten Objekt zugeordneten Verweise zu verwalten.
Dabei werden bei jeder Veränderung des Inhalts des Zeigers (z.B. durch Zuweisung) die Zähler entsprechend angepasst. Der Zähler des Objekts, auf das der Zeiger vorher verwiesen hat, wird dekrementiert, und der Zähler des Objekts, auf das der Zeiger danach verweist, wird inkrementiert.
Durch diese Vorgehensweise sind zwei Bedingungen immer erfüllt:
- Alle noch benutzten Objekte haben einen Zähler ungleich 0.
- Alle Objekte mit einem Zähler gleich 0 werden nicht mehr benutzt.
Dabei kann es auch unbenutzte Objekte mit einem Zähler ungleich 0 geben, da Objekte in einer unreferenzierten zyklischen Struktur auch einen Zähler ungleich 0 haben. Derartige Objekte sind vom Hauptprogramm aus nicht mehr erreichbar, unterhalten aber gegenseitig Verweise.