@InterfaceAudience.Private @InterfaceStability.Evolving public class ProcedureSimpleRunQueue extends Object implements ProcedureRunnableSet
Modifier and Type | Field and Description |
---|---|
private ReentrantLock |
lock |
private Deque<Procedure> |
runnables |
private Condition |
waitCond |
Constructor and Description |
---|
ProcedureSimpleRunQueue() |
Modifier and Type | Method and Description |
---|---|
void |
addBack(Procedure proc)
Inserts the specified element at the end of this queue.
|
void |
addFront(Procedure proc)
Inserts the specified element at the front of this queue.
|
void |
clear()
Removes all of the elements from this collection.
|
void |
completionCleanup(Procedure proc)
The procedure in execution completed.
|
Procedure |
poll()
Fetch one Procedure from the queue
|
void |
signalAll()
In case the class is blocking on poll() waiting for items to be added,
this method should awake poll() and poll() should return.
|
int |
size()
Returns the number of elements in this collection.
|
void |
yield(Procedure proc)
The procedure can't run at the moment.
|
private final ReentrantLock lock
private final Condition waitCond
public void addFront(Procedure proc)
ProcedureRunnableSet
addFront
in interface ProcedureRunnableSet
proc
- the Procedure to addpublic void addBack(Procedure proc)
ProcedureRunnableSet
addBack
in interface ProcedureRunnableSet
proc
- the Procedure to addpublic void yield(Procedure proc)
ProcedureRunnableSet
yield
in interface ProcedureRunnableSet
proc
- the Procedure to add back to the listpublic Procedure poll()
ProcedureRunnableSet
poll
in interface ProcedureRunnableSet
public void signalAll()
ProcedureRunnableSet
signalAll
in interface ProcedureRunnableSet
public void clear()
ProcedureRunnableSet
clear
in interface ProcedureRunnableSet
public int size()
ProcedureRunnableSet
size
in interface ProcedureRunnableSet
public void completionCleanup(Procedure proc)
ProcedureRunnableSet
completionCleanup
in interface ProcedureRunnableSet
proc
- the Procedure that completed the execution.Copyright © 2007–2019 The Apache Software Foundation. All rights reserved.