
com.groupbyinc.flux.common.apache.lucene.util.CloseableThreadLocal.class Maven / Gradle / Ivy
???? 4 ? Bcom/groupbyinc/flux/common/apache/lucene/util/CloseableThreadLocal ;Ljava/lang/Object;Ljava/io/Closeable; java/lang/Object java/io/Closeable CloseableThreadLocal.java t Ljava/lang/ThreadLocal; ;Ljava/lang/ThreadLocal;>; hardRefs Ljava/util/Map; &Ljava/util/Map; PURGE_MULTIPLIER I countUntilPurge +Ljava/util/concurrent/atomic/AtomicInteger; ()V
java/lang/ThreadLocal
java/util/WeakHashMap
)java/util/concurrent/atomic/AtomicInteger ! # (I)V %
" & ( this ILcom/groupbyinc/flux/common/apache/lucene/util/CloseableThreadLocal; DLcom/groupbyinc/flux/common/apache/lucene/util/CloseableThreadLocal; initialValue ()Ljava/lang/Object; get / .
0 java/lang/ref/WeakReference 2 - .
4 set (Ljava/lang/Object;)V 6 7
8
maybePurge :
;
3 0 iv TT; Ljava/lang/Object; weakRef "Ljava/lang/ref/WeakReference; Ljava/lang/ref/WeakReference; 7
3 D
8 java/lang/Thread G
currentThread ()Ljava/lang/Thread; I J
H K
java/util/Map M put 8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; O P N Q java/lang/Throwable S object getAndDecrement ()I V W
" X purge Z
[ keySet ()Ljava/util/Set; ] ^ N _
java/util/Set a iterator ()Ljava/util/Iterator; c d b e java/util/Iterator g hasNext ()Z i j h k next m . h n isAlive p j
H q remove s h t B@ 6 %
" w Ljava/lang/Thread; it (Ljava/util/Iterator; Ljava/util/Iterator; stillAliveCount nextCount close
t Signature Code LocalVariableTable LocalVariableTypeTable LineNumberTable ()TT;
StackMapTable (TT;)V
SourceFile !
?
?
? q )*? *? Y? ? *? Y? ? *? "Y? $? '? )? ? ) * , ? ) * + ? 8 : > G - . ? > ? ? * , ? * + ? J ? ? / . ? ? **? ? 1? 3L+? *? 5M,?
*,? 9,??*? <+? =? ?
> @ * * , A C ?
> ? * * + A B ? &