Class GWorkQueueTask<T>
java.lang.Object
com.glitchybyte.glib.concurrent.GTask
com.glitchybyte.glib.concurrent.workqueue.GWorkQueueTask<T>
- Type Parameters:
T- Type of work item.
- All Implemented Interfaces:
GWorkQueue<T>,Runnable
- Direct Known Subclasses:
GParallelWorkQueueTask,GSequentialWorkQueueTask
A base task implementation of a
GAsyncWorkQueue.-
Nested Class Summary
Nested classes/interfaces inherited from interface com.glitchybyte.glib.concurrent.workqueue.GWorkQueue
GWorkQueue.Builder<T> -
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionGWorkQueueTask(String threadName, Consumer<T> processor) Creates a work queue task. -
Method Summary
Modifier and TypeMethodDescriptionvoidAdds work to the work queue.protected abstract voidThis method processes each work item.final voidrun()Methods inherited from class com.glitchybyte.glib.concurrent.GTask
awaitDone, getTaskRunner, getTaskThreadName, interrupt, isDone, setTaskRunner, started
-
Field Details
-
workQueue
Work queue. -
processor
Work item processor.
-
-
Constructor Details
-
GWorkQueueTask
Creates a work queue task.- Parameters:
threadName- Thread name.processor- Work item processor.
-
-
Method Details
-
addWork
Description copied from interface:GWorkQueueAdds work to the work queue.- Specified by:
addWorkin interfaceGWorkQueue<T>- Parameters:
item- Work item to add.
-
run
public final void run() -
processWork
protected abstract void processWork()This method processes each work item.Implementations MUST call
workQueue.doWork.
-