public class WorkerQueue extends Object
Executable
jobs that are executed sequentially
by a single thread.Executable
Modifier and Type | Class and Description |
---|---|
protected class |
WorkerQueue.QueueLoop
Class that loops getting the next job to be executed and then
executing it, in the worker thread.
|
Modifier and Type | Field and Description |
---|---|
protected Thread |
m_queueThread
The thread that runs the Executable jobs
|
Constructor and Description |
---|
WorkerQueue()
Creates a new worker queue with default thread name of "Worker Thread"
|
WorkerQueue(String threadName)
Creates a new worker queue with the specified thread name
|
WorkerQueue(String threadName,
boolean isDaemon)
Creates a new worker queue with the specified thread name
and daemon mode flag
|
Modifier and Type | Method and Description |
---|---|
protected void |
clear()
Clears the running thread after the queue has been stopped.
|
protected Runnable |
createQueueLoop()
Creates the loop that will get the next job and process it.
|
protected Executable |
getJob()
Called by this class, this method checks if the queue is empty;
if it is, then waits, else returns the current job.
|
protected Executable |
getJobImpl()
Never call this method, only override in subclasses to perform
job getting in a specific way, normally tied to the data structure
holding the jobs.
|
protected boolean |
isInterrupted() |
void |
putJob(Executable job)
Called by a thread that is not the WorkerQueue thread, this method
queues the job and, if necessary, wakes up this worker queue that is
waiting in
getJob() . |
protected void |
putJobImpl(Executable job)
Never call this method, only override in subclasses to perform
job adding in a specific way, normally tied to the data structure
holding the jobs.
|
void |
start()
Starts the worker queue.
|
void |
stop()
Stops nicely the worker queue.
|
protected Thread m_queueThread
public WorkerQueue()
public WorkerQueue(String threadName)
threadName
- public WorkerQueue(String threadName, boolean isDaemon)
threadName
- isDaemon
- public void start()
stop()
public void stop()
clear()
,
start()
,
isInterrupted()
public void putJob(Executable job)
getJob()
.job
- protected boolean isInterrupted()
stop()
protected Executable getJob() throws InterruptedException
InterruptedException
putJob(org.jboss.util.Executable)
protected Executable getJobImpl() throws InterruptedException
InterruptedException
protected void putJobImpl(Executable job)
job
- protected void clear()
protected Runnable createQueueLoop()
Copyright © 2018 JBoss by Red Hat. All rights reserved.