On Dec 28, 2006, at 9:33 AM, Xiao-Feng Li wrote:
On 12/28/06, Weldon Washburn <[EMAIL PROTECTED]> wrote:
On 12/27/06, Geir Magnusson Jr. <[EMAIL PROTECTED]> wrote
[SNIP]
Mode 2
Again the JVM is running exactly 7 threads. Only the one object's
finalize() method is ever called. Process Viewer shows Thread 3
has "above
normal" priority and accumulating roughly 99% of the cpu time.
Watching the
console output for a few minutes, it look like 2600 finalize()
loops to 15
main loops. It appears that no additional threads are created to
handle to
remaining 99,999 waiting finalizable objects. These objects
appear to be
blocked waiting for the first object to finish. Also it looks like
Thread 0
is running main() just like Mode 0 and 1. Given that Process
Viewer shows
that Thread 0 continuously and slowly accumulates CPU time, it
appears that
main() is not suspended but continues to make forward progress.
Very interesting. Thanks for the probation. I think GCv5 finalization
subsystem does similarly.
Question - why would this be part of the GC system, rather than a VM
facility that the GC uses?
geir