A useful analysis of the differences between synchronic destructors (as in C++) and asynchronic finalizers (like those in Java).
The paper can also serve as nice introduction to destructors and finalizers in general. Reading the appendix is perhaps the fastest way to appreciate the fundamental argument presented in the paper.
Posted to Software-Eng by Ehud Lamm on 5/21/03; 4:18:09 AM
Hmm, is not every running thread referencing the object of the current method (this or self)? And does not every running thread belong to a root set of GC? Ah, probably the later may be false for daemon threads in some systems...