Class ShadowThreadPoolExecutor
- java.lang.Object
-
- java.util.concurrent.AbstractExecutorService
-
- java.util.concurrent.ThreadPoolExecutor
-
- com.didiglobal.booster.instrument.ShadowThreadPoolExecutor
-
- All Implemented Interfaces:
java.util.concurrent.Executor,java.util.concurrent.ExecutorService
public class ShadowThreadPoolExecutor extends java.util.concurrent.ThreadPoolExecutor
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class java.util.concurrent.ThreadPoolExecutor
java.util.concurrent.ThreadPoolExecutor.AbortPolicy, java.util.concurrent.ThreadPoolExecutor.CallerRunsPolicy, java.util.concurrent.ThreadPoolExecutor.DiscardOldestPolicy, java.util.concurrent.ThreadPoolExecutor.DiscardPolicy
-
-
Constructor Summary
Constructors Constructor Description ShadowThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, java.util.concurrent.TimeUnit unit, java.util.concurrent.BlockingQueue<java.lang.Runnable> workQueue, java.lang.String prefix)InitializeThreadPoolExecutorwith new thread name, this constructor is used byThreadTransformerfor thread renamingShadowThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, java.util.concurrent.TimeUnit unit, java.util.concurrent.BlockingQueue<java.lang.Runnable> workQueue, java.lang.String prefix, boolean optimize)InitializeThreadPoolExecutorwith new thread name, this constructor is used byThreadTransformerfor thread renamingShadowThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, java.util.concurrent.TimeUnit unit, java.util.concurrent.BlockingQueue<java.lang.Runnable> workQueue, java.util.concurrent.RejectedExecutionHandler handler, java.lang.String prefix)InitializeThreadPoolExecutorwith new thread name, this constructor is used byThreadTransformerfor thread renamingShadowThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, java.util.concurrent.TimeUnit unit, java.util.concurrent.BlockingQueue<java.lang.Runnable> workQueue, java.util.concurrent.RejectedExecutionHandler handler, java.lang.String prefix, boolean optimize)InitializeThreadPoolExecutorwith new thread name, this constructor is used byThreadTransformerfor thread renamingShadowThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, java.util.concurrent.TimeUnit unit, java.util.concurrent.BlockingQueue<java.lang.Runnable> workQueue, java.util.concurrent.ThreadFactory threadFactory, java.lang.String prefix)InitializeThreadPoolExecutorwith new thread name, this constructor is used byThreadTransformerfor thread renamingShadowThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, java.util.concurrent.TimeUnit unit, java.util.concurrent.BlockingQueue<java.lang.Runnable> workQueue, java.util.concurrent.ThreadFactory threadFactory, java.lang.String prefix, boolean optimize)InitializeThreadPoolExecutorwith new thread name, this constructor is used byThreadTransformerfor thread renamingShadowThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, java.util.concurrent.TimeUnit unit, java.util.concurrent.BlockingQueue<java.lang.Runnable> workQueue, java.util.concurrent.ThreadFactory threadFactory, java.util.concurrent.RejectedExecutionHandler handler, java.lang.String prefix)InitializeThreadPoolExecutorwith new thread name, this constructor is used byThreadTransformerfor thread renamingShadowThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, java.util.concurrent.TimeUnit unit, java.util.concurrent.BlockingQueue<java.lang.Runnable> workQueue, java.util.concurrent.ThreadFactory threadFactory, java.util.concurrent.RejectedExecutionHandler handler, java.lang.String prefix, boolean optimize)InitializeThreadPoolExecutorwith new thread name, this constructor is used byThreadTransformerfor thread renaming
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.util.concurrent.ThreadPoolExecutornewOptimizedThreadPoolExecutor(int corePoolSize, int maxPoolSize, long keepAliveTime, java.util.concurrent.TimeUnit unit, java.util.concurrent.BlockingQueue<java.lang.Runnable> workQueue)static java.util.concurrent.ThreadPoolExecutornewOptimizedThreadPoolExecutor(int corePoolSize, int maxPoolSize, long keepAliveTime, java.util.concurrent.TimeUnit unit, java.util.concurrent.BlockingQueue<java.lang.Runnable> workQueue, java.lang.String name)static java.util.concurrent.ThreadPoolExecutornewOptimizedThreadPoolExecutor(int corePoolSize, int maxPoolSize, long keepAliveTime, java.util.concurrent.TimeUnit unit, java.util.concurrent.BlockingQueue<java.lang.Runnable> workQueue, java.util.concurrent.RejectedExecutionHandler handler)static java.util.concurrent.ThreadPoolExecutornewOptimizedThreadPoolExecutor(int corePoolSize, int maxPoolSize, long keepAliveTime, java.util.concurrent.TimeUnit unit, java.util.concurrent.BlockingQueue<java.lang.Runnable> workQueue, java.util.concurrent.RejectedExecutionHandler handler, java.lang.String name)static java.util.concurrent.ThreadPoolExecutornewOptimizedThreadPoolExecutor(int corePoolSize, int maxPoolSize, long keepAliveTime, java.util.concurrent.TimeUnit unit, java.util.concurrent.BlockingQueue<java.lang.Runnable> workQueue, java.util.concurrent.ThreadFactory factory)static java.util.concurrent.ThreadPoolExecutornewOptimizedThreadPoolExecutor(int corePoolSize, int maxPoolSize, long keepAliveTime, java.util.concurrent.TimeUnit unit, java.util.concurrent.BlockingQueue<java.lang.Runnable> workQueue, java.util.concurrent.ThreadFactory factory, java.lang.String name)static java.util.concurrent.ThreadPoolExecutornewOptimizedThreadPoolExecutor(int corePoolSize, int maxPoolSize, long keepAliveTime, java.util.concurrent.TimeUnit unit, java.util.concurrent.BlockingQueue<java.lang.Runnable> workQueue, java.util.concurrent.ThreadFactory factory, java.util.concurrent.RejectedExecutionHandler handler)static java.util.concurrent.ThreadPoolExecutornewOptimizedThreadPoolExecutor(int corePoolSize, int maxPoolSize, long keepAliveTime, java.util.concurrent.TimeUnit unit, java.util.concurrent.BlockingQueue<java.lang.Runnable> workQueue, java.util.concurrent.ThreadFactory factory, java.util.concurrent.RejectedExecutionHandler handler, java.lang.String name)static java.util.concurrent.ThreadPoolExecutornewThreadPoolExecutor(int corePoolSize, int maxPoolSize, long keepAliveTime, java.util.concurrent.TimeUnit unit, java.util.concurrent.BlockingQueue<java.lang.Runnable> workQueue, java.lang.String name)static java.util.concurrent.ThreadPoolExecutornewThreadPoolExecutor(int corePoolSize, int maxPoolSize, long keepAliveTime, java.util.concurrent.TimeUnit unit, java.util.concurrent.BlockingQueue<java.lang.Runnable> workQueue, java.util.concurrent.RejectedExecutionHandler handler, java.lang.String name)static java.util.concurrent.ThreadPoolExecutornewThreadPoolExecutor(int corePoolSize, int maxPoolSize, long keepAliveTime, java.util.concurrent.TimeUnit unit, java.util.concurrent.BlockingQueue<java.lang.Runnable> workQueue, java.util.concurrent.ThreadFactory factory, java.lang.String name)static java.util.concurrent.ThreadPoolExecutornewThreadPoolExecutor(int corePoolSize, int maxPoolSize, long keepAliveTime, java.util.concurrent.TimeUnit unit, java.util.concurrent.BlockingQueue<java.lang.Runnable> workQueue, java.util.concurrent.ThreadFactory factory, java.util.concurrent.RejectedExecutionHandler handler, java.lang.String name)-
Methods inherited from class java.util.concurrent.ThreadPoolExecutor
afterExecute, allowCoreThreadTimeOut, allowsCoreThreadTimeOut, awaitTermination, beforeExecute, execute, finalize, getActiveCount, getCompletedTaskCount, getCorePoolSize, getKeepAliveTime, getLargestPoolSize, getMaximumPoolSize, getPoolSize, getQueue, getRejectedExecutionHandler, getTaskCount, getThreadFactory, isShutdown, isTerminated, isTerminating, prestartAllCoreThreads, prestartCoreThread, purge, remove, setCorePoolSize, setKeepAliveTime, setMaximumPoolSize, setRejectedExecutionHandler, setThreadFactory, shutdown, shutdownNow, terminated, toString
-
-
-
-
Constructor Detail
-
ShadowThreadPoolExecutor
public ShadowThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, java.util.concurrent.TimeUnit unit, java.util.concurrent.BlockingQueue<java.lang.Runnable> workQueue, java.lang.String prefix)InitializeThreadPoolExecutorwith new thread name, this constructor is used byThreadTransformerfor thread renaming- Parameters:
corePoolSize- the number of threads to keep in the pool, even if they are idle, unlessallowCoreThreadTimeOutis setmaximumPoolSize- the maximum number of threads to allow in the poolkeepAliveTime- when the number of threads is greater than the core, this is the maximum time that excess idle threads will wait for new tasks before terminating.unit- the time unit for thekeepAliveTimeargumentworkQueue- the queue to use for holding tasks before they are executed. This queue will hold only theRunnabletasks submitted by theexecutemethod.prefix- the prefix of new thread- Throws:
java.lang.IllegalArgumentException- if one of the following holds:
corePoolSize < 0
keepAliveTime < 0
maximumPoolSize <= 0
maximumPoolSize < corePoolSize
-
ShadowThreadPoolExecutor
public ShadowThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, java.util.concurrent.TimeUnit unit, java.util.concurrent.BlockingQueue<java.lang.Runnable> workQueue, java.lang.String prefix, boolean optimize)InitializeThreadPoolExecutorwith new thread name, this constructor is used byThreadTransformerfor thread renaming- Parameters:
corePoolSize- the number of threads to keep in the pool, even if they are idle, unlessallowCoreThreadTimeOutis setmaximumPoolSize- the maximum number of threads to allow in the poolkeepAliveTime- when the number of threads is greater than the core, this is the maximum time that excess idle threads will wait for new tasks before terminating.unit- the time unit for thekeepAliveTimeargumentworkQueue- the queue to use for holding tasks before they are executed. This queue will hold only theRunnabletasks submitted by theexecutemethod.prefix- the prefix of new threadoptimize- the value indicates that the thread pool optimization should be applied- Throws:
java.lang.IllegalArgumentException- if one of the following holds:
corePoolSize < 0
keepAliveTime < 0
maximumPoolSize <= 0
maximumPoolSize < corePoolSize
-
ShadowThreadPoolExecutor
public ShadowThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, java.util.concurrent.TimeUnit unit, java.util.concurrent.BlockingQueue<java.lang.Runnable> workQueue, java.util.concurrent.ThreadFactory threadFactory, java.lang.String prefix)InitializeThreadPoolExecutorwith new thread name, this constructor is used byThreadTransformerfor thread renaming- Parameters:
corePoolSize- the number of threads to keep in the pool, even if they are idle, unlessallowCoreThreadTimeOutis setmaximumPoolSize- the maximum number of threads to allow in the poolkeepAliveTime- when the number of threads is greater than the core, this is the maximum time that excess idle threads will wait for new tasks before terminating.unit- the time unit for thekeepAliveTimeargumentworkQueue- the queue to use for holding tasks before they are executed. This queue will hold only theRunnabletasks submitted by theexecutemethod.threadFactory- the factory to use when the executor creates a new threadprefix- the prefix of new thread- Throws:
java.lang.IllegalArgumentException- if one of the following holds:
corePoolSize < 0
keepAliveTime < 0
maximumPoolSize <= 0
maximumPoolSize < corePoolSize
-
ShadowThreadPoolExecutor
public ShadowThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, java.util.concurrent.TimeUnit unit, java.util.concurrent.BlockingQueue<java.lang.Runnable> workQueue, java.util.concurrent.ThreadFactory threadFactory, java.lang.String prefix, boolean optimize)InitializeThreadPoolExecutorwith new thread name, this constructor is used byThreadTransformerfor thread renaming- Parameters:
corePoolSize- the number of threads to keep in the pool, even if they are idle, unlessallowCoreThreadTimeOutis setmaximumPoolSize- the maximum number of threads to allow in the poolkeepAliveTime- when the number of threads is greater than the core, this is the maximum time that excess idle threads will wait for new tasks before terminating.unit- the time unit for thekeepAliveTimeargumentworkQueue- the queue to use for holding tasks before they are executed. This queue will hold only theRunnabletasks submitted by theexecutemethod.threadFactory- the factory to use when the executor creates a new threadprefix- the prefix of new threadoptimize- the value indicates that the thread pool optimization should be applied- Throws:
java.lang.IllegalArgumentException- if one of the following holds:
corePoolSize < 0
keepAliveTime < 0
maximumPoolSize <= 0
maximumPoolSize < corePoolSize
-
ShadowThreadPoolExecutor
public ShadowThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, java.util.concurrent.TimeUnit unit, java.util.concurrent.BlockingQueue<java.lang.Runnable> workQueue, java.util.concurrent.RejectedExecutionHandler handler, java.lang.String prefix)InitializeThreadPoolExecutorwith new thread name, this constructor is used byThreadTransformerfor thread renaming- Parameters:
corePoolSize- the number of threads to keep in the pool, even if they are idle, unlessallowCoreThreadTimeOutis setmaximumPoolSize- the maximum number of threads to allow in the poolkeepAliveTime- when the number of threads is greater than the core, this is the maximum time that excess idle threads will wait for new tasks before terminating.unit- the time unit for thekeepAliveTimeargumentworkQueue- the queue to use for holding tasks before they are executed. This queue will hold only theRunnabletasks submitted by theexecutemethod.handler- the handler to use when execution is blocked because the thread bounds and queue capacities are reachedprefix- the prefix of new thread- Throws:
java.lang.IllegalArgumentException- if one of the following holds:
corePoolSize < 0
keepAliveTime < 0
maximumPoolSize <= 0
maximumPoolSize < corePoolSize
-
ShadowThreadPoolExecutor
public ShadowThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, java.util.concurrent.TimeUnit unit, java.util.concurrent.BlockingQueue<java.lang.Runnable> workQueue, java.util.concurrent.RejectedExecutionHandler handler, java.lang.String prefix, boolean optimize)InitializeThreadPoolExecutorwith new thread name, this constructor is used byThreadTransformerfor thread renaming- Parameters:
corePoolSize- the number of threads to keep in the pool, even if they are idle, unlessallowCoreThreadTimeOutis setmaximumPoolSize- the maximum number of threads to allow in the poolkeepAliveTime- when the number of threads is greater than the core, this is the maximum time that excess idle threads will wait for new tasks before terminating.unit- the time unit for thekeepAliveTimeargumentworkQueue- the queue to use for holding tasks before they are executed. This queue will hold only theRunnabletasks submitted by theexecutemethod.handler- the handler to use when execution is blocked because the thread bounds and queue capacities are reachedprefix- the prefix of new threadoptimize- the value indicates that the thread pool optimization should be applied- Throws:
java.lang.IllegalArgumentException- if one of the following holds:
corePoolSize < 0
keepAliveTime < 0
maximumPoolSize <= 0
maximumPoolSize < corePoolSize
-
ShadowThreadPoolExecutor
public ShadowThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, java.util.concurrent.TimeUnit unit, java.util.concurrent.BlockingQueue<java.lang.Runnable> workQueue, java.util.concurrent.ThreadFactory threadFactory, java.util.concurrent.RejectedExecutionHandler handler, java.lang.String prefix)InitializeThreadPoolExecutorwith new thread name, this constructor is used byThreadTransformerfor thread renaming- Parameters:
corePoolSize- the number of threads to keep in the pool, even if they are idle, unlessallowCoreThreadTimeOutis setmaximumPoolSize- the maximum number of threads to allow in the poolkeepAliveTime- when the number of threads is greater than the core, this is the maximum time that excess idle threads will wait for new tasks before terminating.unit- the time unit for thekeepAliveTimeargumentworkQueue- the queue to use for holding tasks before they are executed. This queue will hold only theRunnabletasks submitted by theexecutemethod.threadFactory- the factory to use when the executor creates a new threadhandler- the handler to use when execution is blocked because the thread bounds and queue capacities are reachedprefix- the prefix of new thread- Throws:
java.lang.IllegalArgumentException- if one of the following holds:
corePoolSize < 0
keepAliveTime < 0
maximumPoolSize <= 0
maximumPoolSize < corePoolSize
-
ShadowThreadPoolExecutor
public ShadowThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, java.util.concurrent.TimeUnit unit, java.util.concurrent.BlockingQueue<java.lang.Runnable> workQueue, java.util.concurrent.ThreadFactory threadFactory, java.util.concurrent.RejectedExecutionHandler handler, java.lang.String prefix, boolean optimize)InitializeThreadPoolExecutorwith new thread name, this constructor is used byThreadTransformerfor thread renaming- Parameters:
corePoolSize- the number of threads to keep in the pool, even if they are idle, unlessallowCoreThreadTimeOutis setmaximumPoolSize- the maximum number of threads to allow in the poolkeepAliveTime- when the number of threads is greater than the core, this is the maximum time that excess idle threads will wait for new tasks before terminating.unit- the time unit for thekeepAliveTimeargumentworkQueue- the queue to use for holding tasks before they are executed. This queue will hold only theRunnabletasks submitted by theexecutemethod.threadFactory- the factory to use when the executor creates a new threadhandler- the handler to use when execution is blocked because the thread bounds and queue capacities are reachedprefix- the prefix of new threadoptimize- the value indicates that the thread pool optimization should be applied- Throws:
java.lang.IllegalArgumentException- if one of the following holds:
corePoolSize < 0
keepAliveTime < 0
maximumPoolSize <= 0
maximumPoolSize < corePoolSize
-
-
Method Detail
-
newThreadPoolExecutor
public static java.util.concurrent.ThreadPoolExecutor newThreadPoolExecutor(int corePoolSize, int maxPoolSize, long keepAliveTime, java.util.concurrent.TimeUnit unit, java.util.concurrent.BlockingQueue<java.lang.Runnable> workQueue, java.lang.String name)
-
newThreadPoolExecutor
public static java.util.concurrent.ThreadPoolExecutor newThreadPoolExecutor(int corePoolSize, int maxPoolSize, long keepAliveTime, java.util.concurrent.TimeUnit unit, java.util.concurrent.BlockingQueue<java.lang.Runnable> workQueue, java.util.concurrent.ThreadFactory factory, java.lang.String name)
-
newThreadPoolExecutor
public static java.util.concurrent.ThreadPoolExecutor newThreadPoolExecutor(int corePoolSize, int maxPoolSize, long keepAliveTime, java.util.concurrent.TimeUnit unit, java.util.concurrent.BlockingQueue<java.lang.Runnable> workQueue, java.util.concurrent.RejectedExecutionHandler handler, java.lang.String name)
-
newThreadPoolExecutor
public static java.util.concurrent.ThreadPoolExecutor newThreadPoolExecutor(int corePoolSize, int maxPoolSize, long keepAliveTime, java.util.concurrent.TimeUnit unit, java.util.concurrent.BlockingQueue<java.lang.Runnable> workQueue, java.util.concurrent.ThreadFactory factory, java.util.concurrent.RejectedExecutionHandler handler, java.lang.String name)
-
newOptimizedThreadPoolExecutor
public static java.util.concurrent.ThreadPoolExecutor newOptimizedThreadPoolExecutor(int corePoolSize, int maxPoolSize, long keepAliveTime, java.util.concurrent.TimeUnit unit, java.util.concurrent.BlockingQueue<java.lang.Runnable> workQueue)
-
newOptimizedThreadPoolExecutor
public static java.util.concurrent.ThreadPoolExecutor newOptimizedThreadPoolExecutor(int corePoolSize, int maxPoolSize, long keepAliveTime, java.util.concurrent.TimeUnit unit, java.util.concurrent.BlockingQueue<java.lang.Runnable> workQueue, java.util.concurrent.ThreadFactory factory)
-
newOptimizedThreadPoolExecutor
public static java.util.concurrent.ThreadPoolExecutor newOptimizedThreadPoolExecutor(int corePoolSize, int maxPoolSize, long keepAliveTime, java.util.concurrent.TimeUnit unit, java.util.concurrent.BlockingQueue<java.lang.Runnable> workQueue, java.util.concurrent.RejectedExecutionHandler handler)
-
newOptimizedThreadPoolExecutor
public static java.util.concurrent.ThreadPoolExecutor newOptimizedThreadPoolExecutor(int corePoolSize, int maxPoolSize, long keepAliveTime, java.util.concurrent.TimeUnit unit, java.util.concurrent.BlockingQueue<java.lang.Runnable> workQueue, java.util.concurrent.ThreadFactory factory, java.util.concurrent.RejectedExecutionHandler handler)
-
newOptimizedThreadPoolExecutor
public static java.util.concurrent.ThreadPoolExecutor newOptimizedThreadPoolExecutor(int corePoolSize, int maxPoolSize, long keepAliveTime, java.util.concurrent.TimeUnit unit, java.util.concurrent.BlockingQueue<java.lang.Runnable> workQueue, java.lang.String name)
-
newOptimizedThreadPoolExecutor
public static java.util.concurrent.ThreadPoolExecutor newOptimizedThreadPoolExecutor(int corePoolSize, int maxPoolSize, long keepAliveTime, java.util.concurrent.TimeUnit unit, java.util.concurrent.BlockingQueue<java.lang.Runnable> workQueue, java.util.concurrent.ThreadFactory factory, java.lang.String name)
-
newOptimizedThreadPoolExecutor
public static java.util.concurrent.ThreadPoolExecutor newOptimizedThreadPoolExecutor(int corePoolSize, int maxPoolSize, long keepAliveTime, java.util.concurrent.TimeUnit unit, java.util.concurrent.BlockingQueue<java.lang.Runnable> workQueue, java.util.concurrent.RejectedExecutionHandler handler, java.lang.String name)
-
newOptimizedThreadPoolExecutor
public static java.util.concurrent.ThreadPoolExecutor newOptimizedThreadPoolExecutor(int corePoolSize, int maxPoolSize, long keepAliveTime, java.util.concurrent.TimeUnit unit, java.util.concurrent.BlockingQueue<java.lang.Runnable> workQueue, java.util.concurrent.ThreadFactory factory, java.util.concurrent.RejectedExecutionHandler handler, java.lang.String name)
-
-