![JAR search and dependency download from the Maven repository](/logo.png)
com.google.common.util.concurrent.Monitor.class Maven / Gradle / Ivy
???? 4 F ?
F ?
G ? F ? F ? ?
? a
? ? ?
?
?
? ? r ?
F ?
F ?
?
? ?
? ?
?
? ?
? ? ?
F ?
?
F ? H ? ?
?
?
H ?
F ?
F ?
F ?
?
F ?
F ?
F ?
?
F ?
F ?
F ?
F ?
F ?
F ?
?
?
?
?
?
F ? H ?
r ? ?_???????
? ?
F ? H ? ? ? H ? ?
F ? ? ?
F ? ? ?
F ? ? ? ? ? ? ? ? Guard InnerClasses fair Z lock *Ljava/util/concurrent/locks/ReentrantLock; activeGuards 1Lcom/google/common/util/concurrent/Monitor$Guard; RuntimeVisibleAnnotations Ljavax/annotation/CheckForNull; RuntimeInvisibleAnnotations 8Lcom/google/errorprone/annotations/concurrent/GuardedBy; value ()V Code LineNumberTable LocalVariableTable this +Lcom/google/common/util/concurrent/Monitor; (Z)V MethodParameters newGuard W(Ljava/util/function/BooleanSupplier;)Lcom/google/common/util/concurrent/Monitor$Guard; isSatisfied $Ljava/util/function/BooleanSupplier; enter (Ljava/time/Duration;)Z time Ljava/time/Duration; #(JLjava/util/concurrent/TimeUnit;)Z interrupt Ljava/lang/InterruptedException; remainingNanos J startTime unit Ljava/util/concurrent/TimeUnit; timeoutNanos interrupted
StackMapTable ? enterInterruptibly
Exceptions tryEnter ()Z enterWhen 4(Lcom/google/common/util/concurrent/Monitor$Guard;)V guard signalBeforeWaiting satisfied H(Lcom/google/common/util/concurrent/Monitor$Guard;Ljava/time/Duration;)Z T(Lcom/google/common/util/concurrent/Monitor$Guard;JLjava/util/concurrent/TimeUnit;)Z reentrant threw enterWhenUninterruptibly enterIf 4(Lcom/google/common/util/concurrent/Monitor$Guard;)Z enterIfInterruptibly
tryEnterIf waitFor waitForUninterruptibly leave isFair
isOccupied isOccupiedByCurrentThread getOccupiedDepth ()I getQueueLength hasQueuedThreads hasQueuedThread (Ljava/lang/Thread;)Z thread Ljava/lang/Thread;
hasWaiters getWaitQueueLength 4(Lcom/google/common/util/concurrent/Monitor$Guard;)I toSafeNanos #(JLjava/util/concurrent/TimeUnit;)J initNanoTime (J)J (JJ)J signalNextWaiter throwable Ljava/lang/Throwable; signalAllWaiters beginWaitingFor waiters I
endWaitingFor p pred await 5(Lcom/google/common/util/concurrent/Monitor$Guard;Z)V awaitUninterruptibly
awaitNanos 6(Lcom/google/common/util/concurrent/Monitor$Guard;JZ)Z nanos firstTime
access$000 W(Lcom/google/common/util/concurrent/Monitor;)Ljava/util/concurrent/locks/ReentrantLock; x0
SourceFile Monitor.java CLcom/google/common/util/concurrent/ElementTypesAreNonnullByDefault; 0Lcom/google/common/annotations/J2ktIncompatible; /Lcom/google/common/annotations/GwtIncompatible; M N V ] V W O P K L (java/util/concurrent/locks/ReentrantLock ? ? ? +com/google/common/util/concurrent/Monitor$1 V M W n c g ? ? v p v g
h W java/lang/InterruptedException j ? W s g
\ &java/lang/IllegalMonitorStateException v a v ? ? ? W w } ? ? ? ? ? W W ? ? ? } ? } ? } ? } ? } ? v ? ? ? v ? ? ? ? ? ? java/lang/Long a ? W P java/lang/Throwable ? W W ? x ? W ? x ? W ? ? )com/google/common/util/concurrent/Monitor java/lang/Object /com/google/common/util/concurrent/Monitor$Guard java/util/concurrent/TimeUnit $com/google/common/base/Preconditions checkNotNull 8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; }(Lcom/google/common/util/concurrent/Monitor;Lcom/google/common/util/concurrent/Monitor;Ljava/util/function/BooleanSupplier;)V *com/google/common/util/concurrent/Internal toNanosSaturated (Ljava/time/Duration;)J NANOSECONDS tryLock java/lang/Thread java/lang/System nanoTime ()J
currentThread ()Ljava/lang/Thread; lockInterruptibly monitor isHeldByCurrentThread unlock getHoldCount isLocked waiterCount toNanos "com/google/common/primitives/Longs constrainToRange (JJJ)J condition &Ljava/util/concurrent/locks/Condition; $java/util/concurrent/locks/Condition signal next signalAll 1 F G K L M N O P Q R S T Us M 3 V W X 4 *? ? Y
` a Z [ \ V ] X _ *? *? *? *? Y? ? ? Y i W j k l Z [ \ K L ^ K _ ` X J +? W?
Y**+? ? Y
v w Z [ \ a b ^ a c W X 6 *? ? ? Y
? ? Z [ \ c d X @ *+?
? ? ? Y ? Z [ \ e f ^ e c g X ? g-? 7*? :*? ?
? ? ?? 6? 77
? ? 6? ? ? ?:6? 7
???:
? ? ?
? , 8 F # 8 W F Y W Y J ? ?
? ? ? #? (? ,? 8? =? C? F? H? K? T? W? ^? d? Z \ H h i , + j k
( / l k g [ \ g e k g m n ` o k
Z M N # D p L q \ ? ?
? ? F r ? F r >? F r > ^ e m s W X 6 *? ? ? Y
? ? Z [ \ t s d X @ *+?
? ? ? Y ? Z [ \ e f t ^ e s g X H
*? -? ? Y ? Z
[ \
e k
m n t ^ e m u v X 2 *? ? ? Y ? Z [ \ w x X L+? *? ? Y? ?*? M,? >,? 6+? ? *+? 6? *? !? :? *? !?? ! 1 = = ? = Y > ? ? ? ? ? ? !? (? .? 1? 6? =? D? H? K? Z 4 L [ \ L y P 7 M N 2 z L ! + { L q ? N >?
>? t ^ y w | X K
*+,?
? ? "? Y ? Z
[ \
y P
e f t ^ y e w } X ? ? ? 7+? *? ? Y? ?*? :? 6 7 *? ? ? ? ? Y? #?? ? ? ? $7 ? ? ?66+? ? *+ ?? ?
? ? %? ? 666
? #? ? *? &? '?
:? '?
?:? #? ? *? &? '?
:? '?? ? ? ? ? ? ? b ? ? ? ? ? ? ? ? ? ? ? Y ? &