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



Reply via email to