com.groupbyinc.flux.common.netty.util.ThreadDeathWatcher.class Maven / Gradle / Ivy
???? 2 ? 8com/groupbyinc/flux/common/netty/util/ThreadDeathWatcher java/lang/Object ThreadDeathWatcher.java :com/groupbyinc/flux/common/netty/util/ThreadDeathWatcher$1 >com/groupbyinc/flux/common/netty/util/ThreadDeathWatcher$Entry Entry @com/groupbyinc/flux/common/netty/util/ThreadDeathWatcher$Watcher Watcher logger GLcom/groupbyinc/flux/common/netty/util/internal/logging/InternalLogger;
threadFactory $Ljava/util/concurrent/ThreadFactory; pendingEntries Ljava/util/Queue; SLjava/util/Queue; watcher BLcom/groupbyinc/flux/common/netty/util/ThreadDeathWatcher$Watcher; started +Ljava/util/concurrent/atomic/AtomicBoolean;
watcherThread Ljava/lang/Thread; watch )(Ljava/lang/Thread;Ljava/lang/Runnable;)V java/lang/NullPointerException thread (Ljava/lang/String;)V ! "
# task % java/lang/Thread ' isAlive ()Z ) *
( + "java/lang/IllegalArgumentException - thread must be alive. /
. # schedule *(Ljava/lang/Thread;Ljava/lang/Runnable;Z)V 2 3
4 Ljava/lang/Runnable; unwatch 8 ! 3
: java/util/Queue < add (Ljava/lang/Object;)Z > ? = @ B )java/util/concurrent/atomic/AtomicBoolean D
compareAndSet (ZZ)Z F G
E H J L "java/util/concurrent/ThreadFactory N newThread ((Ljava/lang/Runnable;)Ljava/lang/Thread; P Q O R start ()V T U
( V X isWatch Z awaitInactivity #(JLjava/util/concurrent/TimeUnit;)Z java/lang/InterruptedException ^ unit ` java/util/concurrent/TimeUnit b toMillis (J)J d e
c f join (J)V h i
( j timeout J Ljava/util/concurrent/TimeUnit; ! U
o this :Lcom/groupbyinc/flux/common/netty/util/ThreadDeathWatcher;
access$100 ()Ljava/util/Queue;
access$200 -()Ljava/util/concurrent/atomic/AtomicBoolean;
access$300 I()Lcom/groupbyinc/flux/common/netty/util/internal/logging/InternalLogger; y Lcom/groupbyinc/flux/common/netty/util/internal/logging/InternalLoggerFactory | getInstance Z(Ljava/lang/Class;)Lcom/groupbyinc/flux/common/netty/util/internal/logging/InternalLogger; ~
} ? *java/util/concurrent/ConcurrentLinkedQueue ?
? o ?(Lcom/groupbyinc/flux/common/netty/util/ThreadDeathWatcher$1;)V ! ?
?
E o threadDeathWatcher ? 4com.groupbyinc.flux.common.netty.serviceThreadPrefix ? Acom/groupbyinc/flux/common/netty/util/internal/SystemPropertyUtil ? get &(Ljava/lang/String;)Ljava/lang/String; ? ?
? ? 9com/groupbyinc/flux/common/netty/util/internal/StringUtil ?
isNullOrEmpty (Ljava/lang/String;)Z ? ?
? ? java/lang/StringBuilder ?
? o append -(Ljava/lang/String;)Ljava/lang/StringBuilder; ? ?
? ? toString ()Ljava/lang/String; ? ?
? ? java/lang/String ? Ecom/groupbyinc/flux/common/netty/util/concurrent/DefaultThreadFactory ? .(Ljava/lang/String;ZILjava/lang/ThreadGroup;)V ! ?
? ? poolName Ljava/lang/String; serviceThreadPrefix Signature Code LocalVariableTable LineNumberTable
StackMapTable
Exceptions
SourceFile InnerClasses 1 ? J ? ? 4*?
? Y ? $?+?
? Y&? $?*? ,?
? .Y0? 1?*+? 5? ? 4 4 % 6 ? " K L N O Q # R - U 3 V ?
7 ? u #*?
? Y ? $?+?
? Y&? $?*+? 5? ? # # % 6 ? \ ] _ ` c " d ?
2 3 ? ? 3? 9? Y*+? ;? A W? C? I? ? K? M? S N-? W-? Y? ? * * 3 3 % 6 3 Z [ ? g i j * k . l 2 n ? 2 \ ] ? ? .,?
? Ya? $?? YN-? -,? g? k-? ,? ? ?? ? . l m . ` n ? z { ~ ? ? , ? ? ? (@ ? _ ! U ? / *? p? ? q r ? ? s t ? ? 9? ? ) u v ? ? C? ? ) w x ? ? z? ? ) { U ? ? Y? ?? z? ?Y? ?? 9? Y? ?? M? EY? ?? C?K?? ?L+? ?? ? ?Y? ?+? ?*? ?? ?K? ?Y*? ?? K? ? * . ? ? 0 ( ? ? ? *
+ 1 2 3 ' 7 * 8 0 9 7 : J ? X @ ? ? J ? ? ? ?