public class ThreadUtils
extends java.lang.Object
| Constructor and Description |
|---|
ThreadUtils() |
| Modifier and Type | Method and Description |
|---|---|
static <T> T |
awaitResult(scala.concurrent.Awaitable<T> awaitable,
scala.concurrent.duration.Duration atMost)
Preferred alternative to
Await.result(). |
static java.util.concurrent.ThreadFactory |
namedThreadFactory(java.lang.String prefix)
Create a thread factory that names threads with a prefix and also sets the threads to daemon.
|
static java.util.concurrent.ThreadPoolExecutor |
newDaemonCachedThreadPool(java.lang.String prefix)
Wrapper over newCachedThreadPool.
|
static java.util.concurrent.ThreadPoolExecutor |
newDaemonCachedThreadPool(java.lang.String prefix,
int maxThreadNumber,
int keepAliveSeconds)
Create a cached thread pool whose max number of threads is
maxThreadNumber. |
static java.util.concurrent.ThreadPoolExecutor |
newDaemonFixedThreadPool(int nThreads,
java.lang.String prefix)
Wrapper over newFixedThreadPool.
|
static java.util.concurrent.ExecutorService |
newDaemonSingleThreadExecutor(java.lang.String threadName)
Wrapper over newSingleThreadExecutor.
|
static java.util.concurrent.ScheduledExecutorService |
newDaemonSingleThreadScheduledExecutor(java.lang.String threadName)
Wrapper over ScheduledThreadPoolExecutor.
|
static scala.concurrent.forkjoin.ForkJoinPool |
newForkJoinPool(java.lang.String prefix,
int maxThreadNumber)
Construct a new Scala ForkJoinPool with a specified max parallelism and name prefix.
|
static <T> T |
runInNewThread(java.lang.String threadName,
boolean isDaemon,
scala.Function0<T> body)
Run a piece of code in a new thread and return the result.
|
static scala.concurrent.ExecutionContextExecutor |
sameThread()
An
ExecutionContextExecutor that runs each task in the thread that invokes execute/submit. |
public static scala.concurrent.ExecutionContextExecutor sameThread()
ExecutionContextExecutor that runs each task in the thread that invokes execute/submit.
The caller should make sure the tasks running in this ExecutionContextExecutor are short and
never block.public static java.util.concurrent.ThreadFactory namedThreadFactory(java.lang.String prefix)
prefix - (undocumented)public static java.util.concurrent.ThreadPoolExecutor newDaemonCachedThreadPool(java.lang.String prefix)
prefix - (undocumented)public static java.util.concurrent.ThreadPoolExecutor newDaemonCachedThreadPool(java.lang.String prefix,
int maxThreadNumber,
int keepAliveSeconds)
maxThreadNumber. Thread names
are formatted as prefix-ID, where ID is a unique, sequentially assigned integer.prefix - (undocumented)maxThreadNumber - (undocumented)keepAliveSeconds - (undocumented)public static java.util.concurrent.ThreadPoolExecutor newDaemonFixedThreadPool(int nThreads,
java.lang.String prefix)
nThreads - (undocumented)prefix - (undocumented)public static java.util.concurrent.ExecutorService newDaemonSingleThreadExecutor(java.lang.String threadName)
threadName - (undocumented)public static java.util.concurrent.ScheduledExecutorService newDaemonSingleThreadScheduledExecutor(java.lang.String threadName)
threadName - (undocumented)public static <T> T runInNewThread(java.lang.String threadName,
boolean isDaemon,
scala.Function0<T> body)
SomeException: exception-message at CallerClass.body-method (sourcefile.scala) at ... run in separate thread using org.apache.spark.util.ThreadUtils ... () at CallerClass.caller-method (sourcefile.scala) ...
threadName - (undocumented)isDaemon - (undocumented)body - (undocumented)public static scala.concurrent.forkjoin.ForkJoinPool newForkJoinPool(java.lang.String prefix,
int maxThreadNumber)
prefix - (undocumented)maxThreadNumber - (undocumented)public static <T> T awaitResult(scala.concurrent.Awaitable<T> awaitable,
scala.concurrent.duration.Duration atMost)
throws SparkException
Await.result(). This method wraps and re-throws any exceptions
thrown by the underlying Await call, ensuring that this thread's stack trace appears in
logs.awaitable - (undocumented)atMost - (undocumented)SparkException