Lambda the Ultimate

inactiveTopic Destructors, Finalizers, and Synchronization
started 5/21/2003; 4:09:05 AM - last post 2/21/2004; 10:14:20 AM
Ehud Lamm - Destructors, Finalizers, and Synchronization  blueArrow
5/21/2003; 4:09:05 AM (reads: 1430, responses: 1)
Destructors, Finalizers, and Synchronization
Hans-J. Boehm. Destructors, Finalizers, and Synchronization. Proceeedings of the 2003 ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Jan. 2003, pp. 262-272. Official version. Technical report version. HTML slides. PDF slides.

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

Andris Birkmanis - Re: Destructors, Finalizers, and Synchronization  blueArrow
2/21/2004; 10:14:20 AM (reads: 189, responses: 0)
"An object may legitimately be finalized while one of its methods are still running"

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...