Bill Pugh wrote:
> The point is that most finalizers are not synchronized.
> So declaring them all to be broken is a big step we'd like to avoid.
Finalizers are a pain. However their execution is also intricately tied to
the GC implementation. Putting synchronization in the finalize() method only
addresses half the problem - there is no defined happens-before edge between
"complete constructon" and invocation of finalize(), nor between the last
invocation of a method on an object and the finalize() method. However there
must be some implicit happens-before edges induced by the GC.
But short of some text and some hand-waving, I'm not clear on exactly what
is being proposed for finalizers ??
JavaMemoryModel mailing list - http://www.cs.umd.edu/~pugh/java/memoryModel
This archive was generated by hypermail 2b29 : Thu Oct 13 2005 - 07:01:05 EDT