Šta je sakupljač smeća i kako radi u Pythonu?
sobes.tech АИ
Одговор од АИ
Sakupljač smeća (Garbage Collector) u Pythonu je mehanizam za automatsko upravljanje memorijom koji oslobađa memoriju zauzetu od strane objekata koji više nisu u upotrebi od strane programa.
Python koristi nekoliko metoda za to:
-
Brojač referenci (reference counting) — svaki objekat ima brojač referenci, koji se povećava pri kreiranju nove reference na objekat i smanjuje kada se referenca ukloni. Kada brojač dostigne nulu, objekat se odmah briše.
-
Sakupljač ciklusa — brojanje referenci ne može osloboditi objekte koji se međusobno referenciraju (cikli). Za takve slučajeve, Python pokreće dodatnog sakupljača ciklusa koji periodično traži i uklanja takve cikluse.
Na ovaj način, sakupljač smeća pomaže u izbegavanju curenja memorije i oslobađa programera od potrebe za ručnim upravljanjem memorijom.