Python 2.0

Tim Peters tim_one at email.msn.com
Wed Jun 9 22:22:00 EDT 1999


[various people gripe about finalizers in Java
 Graham asks for an explanation
 Tim paraphrases the Java Spec's section 12.6
]

[Graham Matthews]
> There are two obvious answers to almost all the above problems in Python
>
> a) don't call finalisers for circularly referenced collected objects.
>    Instead just collect their memory. This is not perfect but better
>    than current Python which doesn't run finalisers on circularly
>    referenced objects nor collect their memory.

Solve the problem by ignoring it?  Guido would find that more attractive
than I would <wink>.

> b) better still use a two pass collector. If you don't know what that is
>    just think about what you need to do (or not do) in pass 1 to ensure
>    that all the objects needed for a __del__ method to execute in a known
>    environment are there. <wink>

Java does this.  Start the thread from its beginning again <0.5 wink>.

circularly y'rs  - tim






More information about the Python-list mailing list