Class AsyncExecutor

  • All Implemented Interfaces:
    Disposable

    public class AsyncExecutor
    extends java.lang.Object
    implements Disposable
    Allows asnynchronous execution of AsyncTask instances on a separate thread. Needs to be disposed via a call to dispose() when no longer used, in which case the executor waits for running tasks to finish. Scheduled but not yet running tasks will not be executed.
    • Constructor Summary

      Constructors 
      Constructor Description
      AsyncExecutor​(int maxConcurrent)
      Creates a new AsynchExecutor with the name "AsynchExecutor-Thread".
      AsyncExecutor​(int maxConcurrent, java.lang.String name)
      Creates a new AsynchExecutor that allows maxConcurrent Runnable instances to run in parallel.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void dispose()
      Waits for running AsyncTask instances to finish, then destroys any resources like threads.
      <T> AsyncResult<T> submit​(AsyncTask<T> task)
      Submits a Runnable to be executed asynchronously.
      • Methods inherited from class java.lang.Object

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

      • AsyncExecutor

        public AsyncExecutor​(int maxConcurrent)
        Creates a new AsynchExecutor with the name "AsynchExecutor-Thread".
      • AsyncExecutor

        public AsyncExecutor​(int maxConcurrent,
                             java.lang.String name)
        Creates a new AsynchExecutor that allows maxConcurrent Runnable instances to run in parallel.
        Parameters:
        maxConcurrent -
        name - The name of the threads.
    • Method Detail

      • submit

        public <T> AsyncResult<T> submit​(AsyncTask<T> task)
        Submits a Runnable to be executed asynchronously. If maxConcurrent runnables are already running, the runnable will be queued.
        Parameters:
        task - the task to execute asynchronously
      • dispose

        public void dispose()
        Waits for running AsyncTask instances to finish, then destroys any resources like threads. Can not be used after this method is called.
        Specified by:
        dispose in interface Disposable