
com.google.common.util.concurrent.CycleDetectingLockFactory.class Maven / Gradle / Ivy
???? 2O
?
?
? ? ?
? ? S ? ?
? ? ?
?
?
? ?
? ?
?
? ?
? ?
? ? ? ? ?
? ? ?
? ?
? ?
? ? ?
? ?
?
7 ?
? ?
7 ? S ?
7 ?
?
? ? ?
* ?
? ?
? ?
* ? ?
? ?
* ?
C ? ? L ? ?
? ? ? L ?
7 ?
7
; ?
;
;
?
A ? CycleDetectingReentrantWriteLock InnerClasses
CycleDetectingReentrantReadLock $CycleDetectingReentrantReadWriteLock CycleDetectingReentrantLock
LockGraphNode CycleDetectingLock PotentialDeadlockException
ExampleStackTrace WithExplicitOrdering Policies Policy lockGraphNodesPerType $Ljava/util/concurrent/ConcurrentMap; Signature ?Ljava/util/concurrent/ConcurrentMap;Ljava/util/Map<+Ljava/lang/Enum;Lcom/google/common/util/concurrent/CycleDetectingLockFactory$LockGraphNode;>;>; logger Ljava/util/logging/Logger; policy DLcom/google/common/util/concurrent/CycleDetectingLockFactory$Policy;
acquiredLocks Ljava/lang/ThreadLocal; {Ljava/lang/ThreadLocal;>; newInstance ?(Lcom/google/common/util/concurrent/CycleDetectingLockFactory$Policy;)Lcom/google/common/util/concurrent/CycleDetectingLockFactory; Code LineNumberTable LocalVariableTable newReentrantLock >(Ljava/lang/String;)Ljava/util/concurrent/locks/ReentrantLock; this =Lcom/google/common/util/concurrent/CycleDetectingLockFactory; lockName Ljava/lang/String; ?(Ljava/lang/String;Z)Ljava/util/concurrent/locks/ReentrantLock; fair Z
StackMapTable ? newReentrantReadWriteLock G(Ljava/lang/String;)Ljava/util/concurrent/locks/ReentrantReadWriteLock; H(Ljava/lang/String;Z)Ljava/util/concurrent/locks/ReentrantReadWriteLock; ? newInstanceWithExplicitOrdering ?(Ljava/lang/Class;Lcom/google/common/util/concurrent/CycleDetectingLockFactory$Policy;)Lcom/google/common/util/concurrent/CycleDetectingLockFactory$WithExplicitOrdering; enumClass Ljava/lang/Class; lockGraphNodes Ljava/util/Map; LocalVariableTypeTable Ljava/lang/Class; _Ljava/util/Map; ?;>(Ljava/lang/Class;Lcom/google/common/util/concurrent/CycleDetectingLockFactory$Policy;)Lcom/google/common/util/concurrent/CycleDetectingLockFactory$WithExplicitOrdering; getOrCreateNodes "(Ljava/lang/Class;)Ljava/util/Map; clazz existing created $Ljava/lang/Class<+Ljava/lang/Enum;>; mLjava/util/Map<+Ljava/lang/Enum;Lcom/google/common/util/concurrent/CycleDetectingLockFactory$LockGraphNode;>; ? ?(Ljava/lang/Class<+Ljava/lang/Enum;>;)Ljava/util/Map<+Ljava/lang/Enum;Lcom/google/common/util/concurrent/CycleDetectingLockFactory$LockGraphNode;>; createNodes node KLcom/google/common/util/concurrent/CycleDetectingLockFactory$LockGraphNode; key Ljava/lang/Enum; arr$ [Ljava/lang/Enum; len$ I i$ i map Ljava/util/EnumMap; keys numKeys nodes Ljava/util/ArrayList; TE; cLjava/util/EnumMap; [TE; bLjava/util/ArrayList; ? ?;>(Ljava/lang/Class;)Ljava/util/Map; RuntimeInvisibleAnnotations 1Lcom/google/common/annotations/VisibleForTesting; getLockName $(Ljava/lang/Enum;)Ljava/lang/String; rank Ljava/lang/Enum<*>; '(Ljava/lang/Enum<*>;)Ljava/lang/String; G(Lcom/google/common/util/concurrent/CycleDetectingLockFactory$Policy;)V aboutToAcquire S(Lcom/google/common/util/concurrent/CycleDetectingLockFactory$CycleDetectingLock;)V acquiredLockList lock PLcom/google/common/util/concurrent/CycleDetectingLockFactory$CycleDetectingLock; lockStateChanged ?
access$100 ()Ljava/util/logging/Logger; ?(Lcom/google/common/util/concurrent/CycleDetectingLockFactory$Policy;Lcom/google/common/util/concurrent/CycleDetectingLockFactory$1;)V x0 x1 ?Lcom/google/common/util/concurrent/CycleDetectingLockFactory$1;
access$600 ?(Lcom/google/common/util/concurrent/CycleDetectingLockFactory;Lcom/google/common/util/concurrent/CycleDetectingLockFactory$CycleDetectingLock;)V
access$700 ()V
SourceFile CycleDetectingLockFactory.java $Lcom/google/common/annotations/Beta; (Ljavax/annotation/concurrent/ThreadSafe; ? ? ? ? ? ? [ \ ;com/google/common/util/concurrent/CycleDetectingLockFactory g m ] ^ (java/util/concurrent/locks/ReentrantLock ? Wcom/google/common/util/concurrent/CycleDetectingLockFactory$CycleDetectingReentrantLock Icom/google/common/util/concurrent/CycleDetectingLockFactory$LockGraphNode ? ? r t 1java/util/concurrent/locks/ReentrantReadWriteLock `com/google/common/util/concurrent/CycleDetectingLockFactory$CycleDetectingReentrantReadWriteLock ? ? Pcom/google/common/util/concurrent/CycleDetectingLockFactory$WithExplicitOrdering ? W X
java/util/Map ? ? !"#$%&' ? ?()*+,-./01234 java/lang/StringBuilder ? ?56789:; .<9=9 Bcom/google/common/util/concurrent/CycleDetectingLockFactory$Policy>? _ `@A java/util/ArrayListBCDEF, "com/google/common/collect/MapMakerGHIJK9LMN =com/google/common/util/concurrent/CycleDetectingLockFactory$1 java/lang/Object \com/google/common/util/concurrent/CycleDetectingLockFactory$CycleDetectingReentrantWriteLock [com/google/common/util/concurrent/CycleDetectingLockFactory$CycleDetectingReentrantReadLock Ncom/google/common/util/concurrent/CycleDetectingLockFactory$CycleDetectingLock Vcom/google/common/util/concurrent/CycleDetectingLockFactory$PotentialDeadlockException Mcom/google/common/util/concurrent/CycleDetectingLockFactory$ExampleStackTrace Dcom/google/common/util/concurrent/CycleDetectingLockFactory$Policies java/lang/Class java/util/EnumMap DISABLED FLcom/google/common/util/concurrent/CycleDetectingLockFactory$Policies; (Z)V (Ljava/lang/String;)V ?(Lcom/google/common/util/concurrent/CycleDetectingLockFactory;Lcom/google/common/util/concurrent/CycleDetectingLockFactory$LockGraphNode;ZLcom/google/common/util/concurrent/CycleDetectingLockFactory$1;)V $com/google/common/base/Preconditions checkNotNull &(Ljava/lang/Object;)Ljava/lang/Object; V(Lcom/google/common/util/concurrent/CycleDetectingLockFactory$Policy;Ljava/util/Map;)V "java/util/concurrent/ConcurrentMap get putIfAbsent 8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; "com/google/common/base/MoreObjects firstNonNull com/google/common/collect/Maps
newEnumMap &(Ljava/lang/Class;)Ljava/util/EnumMap; getEnumConstants ()[Ljava/lang/Object; com/google/common/collect/Lists newArrayListWithCapacity (I)Ljava/util/ArrayList; add (Ljava/lang/Object;)Z put 6(Ljava/lang/Enum;Ljava/lang/Object;)Ljava/lang/Object; (I)Ljava/lang/Object; THROW subList (II)Ljava/util/List; checkAcquiredLocks W(Lcom/google/common/util/concurrent/CycleDetectingLockFactory$Policy;Ljava/util/List;)V java/util/Collections unmodifiableMap (Ljava/util/Map;)Ljava/util/Map; java/lang/Enum getDeclaringClass ()Ljava/lang/Class;
getSimpleName ()Ljava/lang/String; append -(Ljava/lang/String;)Ljava/lang/StringBuilder; name toString isAcquiredByCurrentThread ()Z java/lang/ThreadLocal ()Ljava/lang/Object; getLockGraphNode M()Lcom/google/common/util/concurrent/CycleDetectingLockFactory$LockGraphNode; size ()I remove weakKeys &()Lcom/google/common/collect/MapMaker; makeMap &()Ljava/util/concurrent/ConcurrentMap; getName java/util/logging/Logger getLogger .(Ljava/lang/String;)Ljava/util/logging/Logger; ! C W X Y Z [ \ ] ^ _ ` Y a b c d 3 ? Y*? ? e ? f ] ^ g h d ; *+? ? e ? f i j k l g m d s (*? ? ? ? Y?
? ? Y*? Y+?
? ? e f ( i j ( k l ( n o p Q q r s d ; *+? ? e f i j k l r t d s (*? ? ? ? Y? ? ? Y*? Y+?
? ? e f ( i j ( k l ( n o p Q u v w d *? W+? W*? M? Y+,? ? e + ,
. 0 f x y ] ^
z { | x }
z ~ Y
? ? d ? /? *? ? L+? +?*? M? *,? ? L+,? ? ? e 5
7 8 : ; &<