+1 Why?

It should be VM subsystem or independent component, I believe.



BR

Pavel Afremov.

On 12/28/06, Geir Magnusson Jr. <[EMAIL PROTECTED]> wrote:


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