public class DiggConcurrent extends Object
| Modifier and Type | Method and Description |
|---|---|
static void |
ensureShutdown(ExecutorService executor,
Duration timeoutBeforeForcefulShutdown)
Perform an orderly shutdown, trying to wait for any currently running tasks to finish,
or else forcefully shutdown the executor if the tasks are not able to finish their work
within the given timeout duration.
|
static void |
ensureShutdown(String executorName,
ExecutorService executor,
Duration timeoutBeforeForcefulShutdown)
Perform an orderly shutdown, trying to wait for any currently running tasks to finish,
or else forcefully shutdown the executor if the tasks are not able to finish their work
within the given timeout duration.
|
static ExecutorService |
externallyManaged(ExecutorService executor)
Wraps another
ExecutorService as an "externally managed
executor service", which will discard any invocations of the
methods used to manage the lifecycle of the ExecutorService itself. |
static ExecutorService |
fixedThreadPool(int threadAmount,
String name) |
static boolean |
isExternallyManaged(ExecutorService executor)
Determine if the given
ExecutorService is marked as
externally managed. |
static ScheduledExecutorService |
scheduled(int threadAmount,
String name) |
static ScheduledExecutorService |
scheduledSingleThreaded(String name) |
static ExecutorService |
singleThreaded(String name) |
static ThreadFactory |
threadNamingFactory(LongFunction<String> threadName)
Create a thread factory based on
Executors.defaultThreadFactory(), but naming the
created threads using the result of the given given long -> String function, which
argument is the number of the created thread. |
static ThreadFactory |
threadNamingFactory(LongFunction<String> threadName,
ThreadFactory backingFactory)
Create a thread factory delegating to the given
backingFactory for creating new threads, but naming the
created threads using the result of the given given long -> String function, which
argument is the number of the created thread. |
static ThreadFactory |
threadNamingFactory(String threadBaseName)
Create a thread factory based on
Executors.defaultThreadFactory(), but naming the
created threads using the given threadBaseName and an incrementing number for each thread
created by the factory. |
public static ExecutorService fixedThreadPool(int threadAmount, String name)
public static ExecutorService singleThreaded(String name)
public static ScheduledExecutorService scheduledSingleThreaded(String name)
public static ScheduledExecutorService scheduled(int threadAmount, String name)
public static ThreadFactory threadNamingFactory(String threadBaseName)
Executors.defaultThreadFactory(), but naming the
created threads using the given threadBaseName and an incrementing number for each thread
created by the factory. The threads will have names on the form threadBaseName-N.threadBaseName - the base name for threads created by the factory.public static ThreadFactory threadNamingFactory(LongFunction<String> threadName)
Executors.defaultThreadFactory(), but naming the
created threads using the result of the given given long -> String function, which
argument is the number of the created thread.threadName - function used for naming each thread created by the factory.public static ThreadFactory threadNamingFactory(LongFunction<String> threadName, ThreadFactory backingFactory)
backingFactory for creating new threads, but naming the
created threads using the result of the given given long -> String function, which
argument is the number of the created thread.threadName - function used for naming each thread created by the factory.backingFactory - the factory used for creating new threads.public static ExecutorService externallyManaged(ExecutorService executor)
ExecutorService as an "externally managed
executor service", which will discard any invocations of the
methods used to manage the lifecycle of the ExecutorService itself.
This includes the methods:
ExecutorService.shutdown()ExecutorService.shutdownNow() (returns empty list)ExecutorService.awaitTermination(long, TimeUnit) (immediately
returns with the result of ExecutorService.isTerminated())ensureShutdown(ExecutorService, Duration).public static boolean isExternallyManaged(ExecutorService executor)
ExecutorService is marked as
externally managed.public static void ensureShutdown(ExecutorService executor, Duration timeoutBeforeForcefulShutdown)
ensureShutdown(String, ExecutorService, Duration)
method is preferred over this.executor - the ExecutorService to shut down.timeoutBeforeForcefulShutdown - the maximum amount of time to wait for tasks to finish
before forcefully shutting down the executor.public static void ensureShutdown(String executorName, ExecutorService executor, Duration timeoutBeforeForcefulShutdown)
executorName - a descriptive name of the executor to shut down, used for logging.executor - the ExecutorService to shut down.timeoutBeforeForcefulShutdown - the maximum amount of time to wait for tasks to finish
before forcefully shutting down the executor.Copyright © 2018 Digipost. All rights reserved.