org.apache.solr.util
Class RefCounted<Type>
java.lang.Object
org.apache.solr.util.RefCounted<Type>
public abstract class RefCounted<Type>
- extends 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).
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 AtomicInteger refcount
RefCounted
public RefCounted(Type resource)
getRefcount
public int getRefcount()
incref
public final RefCounted<Type> incref()
get
public final Type get()
decref
public void decref()
close
protected abstract void close()
Copyright © 2000-2013 Apache Software Foundation. All Rights Reserved.