org.apache.solr.util
Class RefCounted<Type>
java.lang.Object
org.apache.solr.util.RefCounted<Type>
public abstract class RefCounted<Type>
- extends java.lang.Object
Keep track of a reference count on a resource and close it when
the count hits zero.
By itself, this class could have some race conditions
since there is no synchronization between the refcount
check and the close. Solr's use in reference counting searchers
is safe since the count can only hit zero if it's unregistered (and
hence incref() will not be called again on it).
- Version:
- $Id: RefCounted.java 542583 2007-05-29 16:33:23Z yonik $
- Author:
- yonik
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
resource
protected final Type resource
refcount
protected final java.util.concurrent.atomic.AtomicInteger refcount
RefCounted
public RefCounted(Type resource)
incref
public final RefCounted<Type> incref()
get
public final Type get()
decref
public void decref()
close
protected abstract void close()
Copyright © 2006 - 2009 The Apache Software Foundation