Package io.netty.util
Class ThreadDeathWatcher
- java.lang.Object
-
- io.netty.util.ThreadDeathWatcher
-
@Deprecated public final class ThreadDeathWatcher extends java.lang.Object
Deprecated.will be removed in the next major releaseChecks if a thread is alive periodically and runs a task when a thread dies.This thread starts a daemon thread to check the state of the threads being watched and to invoke their associated
Runnable
s. When there is no thread to watch (i.e. all threads are dead), the daemon thread will terminate itself, and a new daemon thread will be started again when a new watch is added.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
ThreadDeathWatcher.Entry
Deprecated.private static class
ThreadDeathWatcher.Watcher
Deprecated.
-
Field Summary
Fields Modifier and Type Field Description private static InternalLogger
logger
Deprecated.private static java.util.Queue<ThreadDeathWatcher.Entry>
pendingEntries
Deprecated.private static java.util.concurrent.atomic.AtomicBoolean
started
Deprecated.(package private) static java.util.concurrent.ThreadFactory
threadFactory
Deprecated.private static ThreadDeathWatcher.Watcher
watcher
Deprecated.private static java.lang.Thread
watcherThread
Deprecated.
-
Constructor Summary
Constructors Modifier Constructor Description private
ThreadDeathWatcher()
Deprecated.
-
Method Summary
All Methods Static Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static boolean
awaitInactivity(long timeout, java.util.concurrent.TimeUnit unit)
Deprecated.Waits until the thread of this watcher has no threads to watch and terminates itself.private static void
schedule(java.lang.Thread thread, java.lang.Runnable task, boolean isWatch)
Deprecated.static void
unwatch(java.lang.Thread thread, java.lang.Runnable task)
Deprecated.Cancels the task scheduled viawatch(Thread, Runnable)
.static void
watch(java.lang.Thread thread, java.lang.Runnable task)
Deprecated.Schedules the specifiedtask
to run when the specifiedthread
dies.
-
-
-
Field Detail
-
logger
private static final InternalLogger logger
Deprecated.
-
threadFactory
static final java.util.concurrent.ThreadFactory threadFactory
Deprecated.
-
pendingEntries
private static final java.util.Queue<ThreadDeathWatcher.Entry> pendingEntries
Deprecated.
-
watcher
private static final ThreadDeathWatcher.Watcher watcher
Deprecated.
-
started
private static final java.util.concurrent.atomic.AtomicBoolean started
Deprecated.
-
watcherThread
private static volatile java.lang.Thread watcherThread
Deprecated.
-
-
Method Detail
-
watch
public static void watch(java.lang.Thread thread, java.lang.Runnable task)
Deprecated.Schedules the specifiedtask
to run when the specifiedthread
dies.- Parameters:
thread
- theThread
to watchtask
- theRunnable
to run when thethread
dies- Throws:
java.lang.IllegalArgumentException
- if the specifiedthread
is not alive
-
unwatch
public static void unwatch(java.lang.Thread thread, java.lang.Runnable task)
Deprecated.Cancels the task scheduled viawatch(Thread, Runnable)
.
-
schedule
private static void schedule(java.lang.Thread thread, java.lang.Runnable task, boolean isWatch)
Deprecated.
-
awaitInactivity
public static boolean awaitInactivity(long timeout, java.util.concurrent.TimeUnit unit) throws java.lang.InterruptedException
Deprecated.Waits until the thread of this watcher has no threads to watch and terminates itself. Because a new watcher thread will be started again onwatch(Thread, Runnable)
, this operation is only useful when you want to ensure that the watcher thread is terminated after your application is shut down and there's no chance of callingwatch(Thread, Runnable)
afterwards.- Returns:
true
if and only if the watcher thread has been terminated- Throws:
java.lang.InterruptedException
-
-