Class SequentialExecutor.QueueWorker

  • All Implemented Interfaces:
    java.lang.Runnable
    Enclosing class:
    SequentialExecutor

    private final class SequentialExecutor.QueueWorker
    extends java.lang.Object
    implements java.lang.Runnable
    Worker that runs tasks from SequentialExecutor.queue until it is empty.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      (package private) java.lang.Runnable task  
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private QueueWorker()  
    • Field Detail

      • task

        @CheckForNull
        java.lang.Runnable task
    • Constructor Detail

      • QueueWorker

        private QueueWorker()
    • Method Detail

      • run

        public void run()
        Specified by:
        run in interface java.lang.Runnable
      • workOnQueue

        private void workOnQueue()
        Continues executing tasks from SequentialExecutor.queue until it is empty.

        The thread's interrupt bit is cleared before execution of each task.

        If the Thread in use is interrupted before or during execution of the tasks in SequentialExecutor.queue, the Executor will complete its tasks, and then restore the interruption. This means that once the Thread returns to the Executor that this Executor composes, the interruption will still be present. If the composed Executor is an ExecutorService, it can respond to shutdown() by returning tasks queued on that Thread after SequentialExecutor.worker drains the queue.

      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object