Ayunda con un idiom de python

Chema Cortes py en ch3m4.org
Jue Jun 15 11:47:19 CEST 2006


Luis Rodrigo Gallardo Cruz escribió:
> On Tue, Jun 13, 2006 at 12:30:49PM +0200, Chema Cortes wrote:
>> Si te fijas, se da una referencia circular:
>>
>>   self == self.pyclass.typecode
>>
>> A parte de si es o no un modismo, sí que es el típico caso que consigue
>> que el "recolector de basura" se despiste. En uso normal, es posible que
>> nunca consigas borrar de memoria ni la instancia ni su clase Holder
>> asociada.
> 
> ¿Qué no esto ha dejado de ser un problema?
> 
> Dice en http://docs.python.org/ext/refcounts.html
> 
>  While Python uses the traditional reference counting implementation,
>  it also offers a cycle detector that works to detect reference
>  cycles. This allows applications to not worry about creating direct or
>  indirect circular references ...

No me expresé bien. Por "uso normal" me refería a que resulta más
probable que alguna referencia al objeto quede activa. Si borras ambos,
referente y referido, el recolector de basura los eliminará de memoria,
aunque se dé una referencia circular. El problema es que no hay forma de
asegurarse que ambas referencias se borren simultáneamente (borrado en
cascada, como se hace en la conservación la "integridad referencial")




-- 
Chema Cortés (py en ch3m4.org)
"Proudly made on earth by generic humanoid carbon units"




Más información sobre la lista de distribución Python-es