„Szemétgyűjtés” változatai közötti eltérés
[ellenőrzött változat] | [ellenőrzött változat] |
Tartalom törölve Tartalom hozzáadva
a r2.7.1) (Bot: következő hozzáadása: el:Συλλογή σκουπιδιών (επιστήμη υπολογιστών) |
a Helyesírási javítások (3. csoport: i/í) kézi ellenőrzéssel |
||
49. sor:
=== Alapvető algoritmusok ===
A nyomkövetés alapú szemétgyűjtő nevét a munkamódszeréről kapta, mivel folyamatosan figyeli a program által használt memóriát, kutatva a szemét után. A gyűjtő ciklikusan működik, mindig akkor „kapcsol be”, amikor a program erőforrásszűkében van. Az eredetileg használt eljárás egy '''
Ebben a metódusban minden egyes objektum kap egy jelzést'''(flag)''' (tipikusan egy [[bit]] hosszúságú), amelyet csakis a szemétgyűjtő használ. Ez a '''flag''' mindig törölt állapotban van, kivéve a gyűjtő ciklusa alatt. A GC először kitakarítja a valószínűleg elérhető elemek ('''root set''' – a call stack és a lokális elemek) listáját, és minden használatban lévő objektumot megjelöl. Minden olyan elem, amelyre van hivatkozás a root set-ből szintén jelölést kap. Végül ismét végignézi az összes elemet: ha az objektum flagje alapállapotban van, akkor törlésre kerül, ellenkező esetben visszaáll az eredeti helyzetbe, hogy felkészüljön a következő ciklusra.
|