@InterfaceAudience.Private public class Threads extends Object
Modifier and Type | Field and Description |
---|---|
protected static Log |
LOG |
Constructor and Description |
---|
Threads() |
Modifier and Type | Method and Description |
---|---|
static ThreadPoolExecutor |
getBoundedCachedThreadPool(int maxCachedThread,
long timeout,
TimeUnit unit,
ThreadFactory threadFactory)
Create a new CachedThreadPool with a bounded number as the maximum
thread size in the pool.
|
static ThreadFactory |
getNamedThreadFactory(String prefix)
Returns a
ThreadFactory that names each created thread uniquely,
with a common prefix. |
static ThreadFactory |
newDaemonThreadFactory(String prefix)
Same as {#newDaemonThreadFactory(String, UncaughtExceptionHandler)},
without setting the exception handler.
|
static ThreadFactory |
newDaemonThreadFactory(String prefix,
Thread.UncaughtExceptionHandler handler)
Get a named
ThreadFactory that just builds daemon threads. |
static void |
printThreadInfo(PrintStream stream,
String title)
Print all of the thread's information and stack traces.
|
static Thread |
setDaemonThreadRunning(Thread t)
Utility method that sets name, daemon status and starts passed thread.
|
static Thread |
setDaemonThreadRunning(Thread t,
String name)
Utility method that sets name, daemon status and starts passed thread.
|
static Thread |
setDaemonThreadRunning(Thread t,
String name,
Thread.UncaughtExceptionHandler handler)
Utility method that sets name, daemon status and starts passed thread.
|
static void |
setLoggingUncaughtExceptionHandler(Thread t)
Sets an UncaughtExceptionHandler for the thread which logs the
Exception stack if the thread dies.
|
static void |
shutdown(Thread t)
Shutdown passed thread using isAlive and join.
|
static void |
shutdown(Thread t,
long joinwait)
Shutdown passed thread using isAlive and join.
|
static void |
sleep(long millis)
If interrupted, just prints out the interrupt on STDOUT, resets interrupt and returns
|
static void |
sleepWithoutInterrupt(long msToWait)
Sleeps for the given amount of time even if interrupted.
|
static void |
threadDumpingIsAlive(Thread t) |
public static Thread setDaemonThreadRunning(Thread t)
t
- thread to runt
.public static Thread setDaemonThreadRunning(Thread t, String name)
t
- thread to frobname
- new namet
.public static Thread setDaemonThreadRunning(Thread t, String name, Thread.UncaughtExceptionHandler handler)
t
- thread to frobname
- new namehandler
- A handler to set on the thread. Pass null if want to
use default handler.t
.public static void shutdown(Thread t)
t
- Thread to shutdownpublic static void shutdown(Thread t, long joinwait)
joinwait
- Pass 0 if we're to wait forever.t
- Thread to shutdownpublic static void threadDumpingIsAlive(Thread t) throws InterruptedException
t
- Waits on the passed thread to die dumping a threaddump every
minute while its up.InterruptedException
public static void sleep(long millis)
millis
- How long to sleep for in milliseconds.public static void sleepWithoutInterrupt(long msToWait)
msToWait
- the amount of time to sleep in millisecondspublic static ThreadPoolExecutor getBoundedCachedThreadPool(int maxCachedThread, long timeout, TimeUnit unit, ThreadFactory threadFactory)
maxCachedThread
- the maximum thread could be created in the pooltimeout
- the maximum time to waitunit
- the time unit of the timeout argumentthreadFactory
- the factory to use when creating new threadspublic static ThreadFactory getNamedThreadFactory(String prefix)
ThreadFactory
that names each created thread uniquely,
with a common prefix.prefix
- The prefix of every created Thread's nameThreadFactory
that names threadspublic static ThreadFactory newDaemonThreadFactory(String prefix)
public static ThreadFactory newDaemonThreadFactory(String prefix, Thread.UncaughtExceptionHandler handler)
ThreadFactory
that just builds daemon threads.prefix
- name prefix for all threads created from the factoryhandler
- unhandles exception handler to set for all threadspublic static void setLoggingUncaughtExceptionHandler(Thread t)
public static void printThreadInfo(PrintStream stream, String title)
stream
- the stream totitle
- a string title for the stack trace