com.bigdata.concurrent
Class NonBlockingLockManagerWithNewDesign.StatisticsTask

java.lang.Object
  extended by com.bigdata.concurrent.NonBlockingLockManagerWithNewDesign.StatisticsTask
All Implemented Interfaces:
Runnable
Enclosing class:
NonBlockingLockManagerWithNewDesign<R extends Comparable<R>>

protected class NonBlockingLockManagerWithNewDesign.StatisticsTask
extends Object
implements Runnable

Class for tracking the average queue size of each ResourceQueue and various other moving averages for the service as a whole.

Version:
$Id: NonBlockingLockManagerWithNewDesign.java 5809 2011-12-19 16:56:48Z thompsonbry $
Author:
Bryan Thompson
See Also:
NonBlockingLockManagerWithNewDesign.statisticsTask

Method Summary
 void run()
          This method updates the QueueSizeMovingAverageTask for each ResourceQueue each time it is run.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

run

public void run()
This method updates the QueueSizeMovingAverageTask for each ResourceQueue each time it is run.

Note: This is written so as to not cause hard references to be retained to the ResourceQueues. The QueueSizeMovingAverageTask is a member field for the ResourceQueue for the same reason. This way the statistics for active ResourceQueues are tracked and may be reported but ResourceQueues will remain strongly reachable only if there are tasks holding their locks.

Specified by:
run in interface Runnable


Copyright © 2006-2011 SYSTAP, LLC. All Rights Reserved.