Class BoundedExecutor

java.lang.Object
com.atlassian.jira.util.concurrent.BoundedExecutor
All Implemented Interfaces:
Executor

public class BoundedExecutor extends Object implements Executor
BoundedExecutor is an ExecutorService wrapper that bounds the number of runnables allowed in the execution queue. execute(Runnable) blocks if the number of runnables already in the queue equals the maximum number of permits available.
  • Constructor Details

    • BoundedExecutor

      public BoundedExecutor(ExecutorService executor, int permits)
      Constructor.
      Parameters:
      executor - the executor service whose queue is to be bounded (required)
      permits - the number of runnables allowed in the queue at once
  • Method Details

    • execute

      public void execute(@Nonnull Runnable command)
      Specified by:
      execute in interface Executor
    • submit

      public <T> Future<T> submit(@Nonnull Callable<T> task)
    • shutdownAndWait

      public void shutdownAndWait()
      shutdown the ExecutorService and wait for it. This method is not interruptible.
    • shutdownAndIgnoreQueue

      public void shutdownAndIgnoreQueue()