„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
Syp (vitalap | szerkesztései)
Syp (vitalap | szerkesztései)
127. sor:
== Referenciaszámlálás ==
 
A referenciaszámlálás az automatikus memóriakezelés egy formája. Minden objektum rendelkezik egy hozzáadott mezővel, amelynek értéke megadja az elemre való hivatkozások számát. Ez az érték eggyel növekszik egy új hivatkozás születésekor és eggyel csökken, ha a hivatkozás megszűnik. Ha eléri a nullát, az objektum által elfoglalt memória felszabadul.
 
Ennek a módszernek két nagy hibája van:
 
* Ha két vagy több elem egymásra hivatkozik, akkor kör keletkezhet, ezért sohasem kerülnek felszabadításra. Egyes referenciaszámlálás alapú szemétgyűjtők - mint a [[CPython]]ban implementált - rendelkezik ezt a hibát kivédeni szándékozott körfigyelő algoritmusokkal.
 
* A hivatkozások élettartama elején és végén szükség van a számlálók módosítására, s bár ennek kioptimalizálására vannak jól használható módszerek, többszálas környezetben ez lockokat igényelhet, amelyek költsége igen nagy is lehet.
 
== Elérhetőség ==