Class RoundRobinAsynchronousRunner

  • All Implemented Interfaces:
    ClosableResource, AsynchronousRunner, Queuable

    public class RoundRobinAsynchronousRunner
    extends java.lang.Object
    implements AsynchronousRunner, Queuable
    A class that provides for effecient asynchronous execution of multiple tasks that may block, but that do not contend for the same locks. The order in which tasks will be executed is not guaranteed.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      RunnableQueue asRunnableQueue()  
      void close()
      Clean-up resources held by this asynchronous runner as soon as possible.
      void close​(boolean skip_remaining_tasks)
      Finish with this AsynchronousRunner, and clean-up any Threads or resources it may hold.
      void postRunnable​(java.lang.Runnable r)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • RoundRobinAsynchronousRunner

        public RoundRobinAsynchronousRunner​(int num_threads,
                                            boolean daemon)
    • Method Detail

      • close

        public void close​(boolean skip_remaining_tasks)
        Description copied from interface: AsynchronousRunner
        Finish with this AsynchronousRunner, and clean-up any Threads or resources it may hold.
        Specified by:
        close in interface AsynchronousRunner
        Parameters:
        skip_remaining_tasks - Should be regarded as a hint, not a guarantee. If true, pending, not-yet-performed tasks will be skipped, if possible. Currently executing tasks may or may not be interrupted. If false, all previously scheduled tasks will be completed prior to clean-up. The method returns immediately regardless.
      • close

        public void close()
        Description copied from interface: AsynchronousRunner
        Clean-up resources held by this asynchronous runner as soon as possible. Remaining tasks are skipped if possible, and any tasks executing when close() is called may or may not be interrupted. Equivalent to close( true ).
        Specified by:
        close in interface AsynchronousRunner
        Specified by:
        close in interface ClosableResource