public final class ThreadUtils extends Object
| Modifier and Type | Class and Description |
|---|---|
static class |
ThreadUtils.SshdThreadFactory |
public static ExecutorService protectExecutorServiceShutdown(ExecutorService executorService, boolean shutdownOnExit)
ExecutorService in such a way as to "protect"
it for calls to the ExecutorService.shutdown() or
ExecutorService.shutdownNow(). All other calls are delegated as-is
to the original service. Note: the exposed wrapped proxy will
answer correctly the ExecutorService.isShutdown() query if indeed
one of the shutdown methods was invoked.executorService - The original service - ignored if nullshutdownOnExit - If true then it is OK to shutdown the executor
so no wrapping takes place.public static ClassLoader resolveDefaultClassLoader(Object anchor)
public static Iterable<ClassLoader> resolveDefaultClassLoaders(Object anchor)
public static <T> T createDefaultInstance(Class<?> anchor, Class<T> targetType, String className) throws ReflectiveOperationException
ReflectiveOperationExceptionpublic static <T> T createDefaultInstance(ClassLoader cl, Class<T> targetType, String className) throws ReflectiveOperationException
ReflectiveOperationExceptionpublic static <T> T createDefaultInstance(Iterable<ClassLoader> cls, Class<T> targetType, String className) throws ReflectiveOperationException
ReflectiveOperationExceptionpublic static ClassLoader resolveDefaultClassLoader(Class<?> anchor)
Attempts to find the most suitable ClassLoader as follows:
Check the Thread.getContextClassLoader() value
If no thread context class loader then check the anchor class (if given) for its class loader
If still no loader available, then use ClassLoader.getSystemClassLoader()
anchor - The anchor Class to use if no current thread
- ignored if null
context class loaderClassLoaderpublic static Iterable<ClassLoader> resolveDefaultClassLoaders(Class<?> anchor)
public static ExecutorService newFixedThreadPool(String poolName, int nThreads)
public static ExecutorService newCachedThreadPool(String poolName)
public static ScheduledExecutorService newSingleThreadScheduledExecutor(String poolName)
public static ExecutorService newSingleThreadExecutor(String poolName)
Copyright © 2008–2017 The Apache Software Foundation. All rights reserved.