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

public abstract class GWorkQueueTask<T> extends GTask implements GWorkQueue<T>
A base task implementation of a GAsyncWorkQueue.
  • Field Details

    • workQueue

      protected final GAsyncWorkQueue<T> workQueue
      Work queue.
    • processor

      protected final Consumer<T> processor
      Work item processor.
  • Constructor Details

    • GWorkQueueTask

      public GWorkQueueTask(String threadName, Consumer<T> processor)
      Creates a work queue task.
      Parameters:
      threadName - Thread name.
      processor - Work item processor.
  • Method Details

    • addWork

      public void addWork(T item)
      Description copied from interface: GWorkQueue
      Adds work to the work queue.
      Specified by:
      addWork in interface GWorkQueue<T>
      Parameters:
      item - Work item to add.
    • run

      public final void run()
      Specified by:
      run in interface Runnable
    • processWork

      protected abstract void processWork()
      This method processes each work item.

      Implementations MUST call workQueue.doWork.