simtools.util
Class ListenerManager.ReferenceCountedPointer
java.lang.Object
java.lang.ref.Reference<T>
java.lang.ref.WeakReference
simtools.util.ListenerManager.ReferenceCountedPointer
- Enclosing class:
- ListenerManager
public class ListenerManager.ReferenceCountedPointer
- extends java.lang.ref.WeakReference
This inner class is a Weak Reference using refcounting, as described in the note above.
It is a static inner class because the ListenerManager reference would otherwise
prevent the garbage-collector to destroy the ListenerManagers themselves.
Unfortunately, a reference to the listener manager is still required, so
as to make only one ReferenceQueue helper thread, and not one thread per
ListenerManager. So, use a weak reference to the lisener manager too!
Methods inherited from class java.lang.ref.Reference |
clear, enqueue, get, isEnqueued |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
refcount
public int refcount
manager
public java.lang.ref.WeakReference manager
ListenerManager.ReferenceCountedPointer
public ListenerManager.ReferenceCountedPointer(ListenerManager mgr,
java.lang.Object o)