org.geotools.util
Class WeakCollectionCleaner

Object
  extended by Thread
      extended by WeakCollectionCleaner
All Implemented Interfaces:
Runnable

public final class WeakCollectionCleaner
extends Thread

A thread invoking Reference.clear() on each enqueded reference. This is usefull only if Reference subclasses has overridden their clear() method in order to perform some cleaning. This thread is used by WeakHashSet and WeakValueHashMap, which remove their entry from the collection when Reference.clear() is invoked.

Since:
2.0
Author:
Martin Desruisseaux (IRD)

Nested Class Summary
 
Nested classes/interfaces inherited from class Thread
Thread.State, Thread.UncaughtExceptionHandler
 
Field Summary
static WeakCollectionCleaner DEFAULT
          The default thread.
 
Fields inherited from class Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Method Summary
 void exit()
          Stops the cleaner thread.
 ReferenceQueue<Object> getReferenceQueue()
           
 void run()
          Loop to be run during the virtual machine lifetime.
 
Methods inherited from class Thread
activeCount, checkAccess, clone, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, toString, yield
 
Methods inherited from class Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

DEFAULT

public static final WeakCollectionCleaner DEFAULT
The default thread.

Method Detail

getReferenceQueue

public ReferenceQueue<Object> getReferenceQueue()

run

public void run()
Loop to be run during the virtual machine lifetime.

Specified by:
run in interface Runnable
Overrides:
run in class Thread

exit

public void exit()
Stops the cleaner thread. Calling this method is recommended in all long running applications with custom class loaders (e.g., web applications).



Copyright © 1996-2014 Geotools. All Rights Reserved.