public class SerialExecutorService
extends java.util.concurrent.AbstractExecutorService
Modifier and Type | Field and Description |
---|---|
protected java.lang.ThreadLocal<java.lang.Boolean> |
draining |
protected java.lang.Runnable |
drainTask |
protected java.util.concurrent.ConcurrentLinkedQueue<java.lang.Runnable> |
externalQueue |
protected java.lang.String |
label |
protected java.util.LinkedList<java.lang.Runnable> |
localQueue |
protected java.util.concurrent.atomic.AtomicBoolean |
shutdown |
protected java.util.concurrent.Executor |
target |
protected java.util.concurrent.atomic.AtomicBoolean |
terminated |
protected java.util.concurrent.CountDownLatch |
terminatedLatch |
protected java.util.concurrent.atomic.AtomicBoolean |
triggered |
Constructor and Description |
---|
SerialExecutorService() |
SerialExecutorService(java.util.concurrent.Executor target) |
SerialExecutorService(java.util.concurrent.Executor target,
java.lang.String label) |
SerialExecutorService(java.lang.String label) |
Modifier and Type | Method and Description |
---|---|
boolean |
awaitTermination(long timeout,
java.util.concurrent.TimeUnit unit) |
void |
drain()
This method blocks until all previously queued Runnable objects are run.
|
void |
execute(java.lang.Runnable runnable)
Queues the runnable for execution.
|
void |
executeAndDrain(java.lang.Runnable runnable)
Executes the runnable.
|
java.lang.String |
getLabel() |
java.util.concurrent.Executor |
getTarget() |
boolean |
isDraining() |
boolean |
isShutdown() |
boolean |
isTerminated() |
void |
setLabel(java.lang.String label) |
void |
setTarget(java.util.concurrent.Executor target) |
void |
shutdown() |
java.util.List<java.lang.Runnable> |
shutdownNow() |
java.lang.String |
toString() |
protected void |
triggerDrain() |
protected java.util.concurrent.Executor target
protected volatile java.lang.String label
protected java.util.concurrent.atomic.AtomicBoolean shutdown
protected java.util.concurrent.atomic.AtomicBoolean terminated
protected java.util.concurrent.CountDownLatch terminatedLatch
protected final java.util.concurrent.atomic.AtomicBoolean triggered
protected final java.util.concurrent.ConcurrentLinkedQueue<java.lang.Runnable> externalQueue
protected final java.util.LinkedList<java.lang.Runnable> localQueue
protected final java.lang.ThreadLocal<java.lang.Boolean> draining
protected final java.lang.Runnable drainTask
public SerialExecutorService()
public SerialExecutorService(java.lang.String label)
public SerialExecutorService(java.util.concurrent.Executor target)
public SerialExecutorService(java.util.concurrent.Executor target, java.lang.String label)
public void execute(java.lang.Runnable runnable)
runnable
- public void executeAndDrain(java.lang.Runnable runnable)
runnable
- protected void triggerDrain()
public void drain()
public void shutdown()
public java.util.List<java.lang.Runnable> shutdownNow()
public boolean isDraining()
public boolean isShutdown()
public boolean isTerminated()
public boolean awaitTermination(long timeout, java.util.concurrent.TimeUnit unit) throws java.lang.InterruptedException
java.lang.InterruptedException
public java.lang.String toString()
toString
in class java.lang.Object
public java.util.concurrent.Executor getTarget()
public void setTarget(java.util.concurrent.Executor target)
public java.lang.String getLabel()
public void setLabel(java.lang.String label)
Copyright © 2011-2014 Red Hat. All Rights Reserved.