Reference counting

Versione del 17 ott 2008 alle 16:50 di Avesan (discussione | contributi) (cambio categ.)

In informatica, il reference counting ("contatore dei riferimenti") è una tecnica di memorizzazione del numero di riferimenti, puntatori o handle a una risorsa come un oggetto o un blocco di memoria. E' tipicamente usato come metodo per deallocare oggetti che non sono più usati in modo automatico e sicuro.

Usi nel garbage collection

Il reference counting è spesso noto come un algoritmo di garbage collection dove ciascun oggetto contiene un contatore del numeri di riferimenti tenuti da altri oggetti. Se il contatore dei riferimenti di un oggetto raggiunge lo zero, l'oggetto diviene inaccessibile e viene messo nella lista degli oggetti da distruggere.

Un semplice reference couting richiede di essere spesso aggiornato. Quando un riferimento viene distrutto o riscritto, il contatore dei riferimenti viene decrementato, mentre quando un riferimento viene creato o copiato, il contatore dei riferimenti viene incrementato.

Il reference counting è anche usato nelle operazioni sui sistemi operativi su disco o distribuiti, dove un completo garbage collection che traccia i riferimenti in un grafo o in un albero è troppo oneroso computazionalmente.