Package hudson.util
Class SequentialExecutionQueue
java.lang.Object
hudson.util.SequentialExecutionQueue
- All Implemented Interfaces:
Executor
Executor that collapses two equal Runnables into one,
and makes sure no two equal Runnables get executed simultaneously.
That is, if a Runnable is executing and another one gets submitted,
the 2nd one waits for the completion of the 1st one.
Object.equals(Object) is used on Runnable to identify
two equal Runnables.
- Author:
- Kohsuke Kawaguchi
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidGets the base underlying executors.,GetsRunnables that are currently executed by a live thread.booleanisStarving(long threshold) Returns true if too much time is spent since someRunnableis submitted into the queue until they get executed.voidStarts using a newExecutorServiceto carry out executions.
-
Constructor Details
-
SequentialExecutionQueue
-
-
Method Details
-
getExecutors
Gets the base underlying executors., -
setExecutors
Starts using a newExecutorServiceto carry out executions.The older
ExecutorServicewill be shut down (but it's still expected to complete whatever they are doing and scheduled.) -
execute
-
isStarving
public boolean isStarving(long threshold) Returns true if too much time is spent since someRunnableis submitted into the queue until they get executed. -
getInProgress
GetsRunnables that are currently executed by a live thread.
-