Package org.apache.uima.aae
Class UimaBlockingExecutor
- java.lang.Object
-
- org.apache.uima.aae.UimaBlockingExecutor
-
public class UimaBlockingExecutor extends java.lang.Object
A wrapper around ThreadPoolExecutor that blocks a thread if number of executing threads exceeds provided maximum number of permits. The implementation uses a semaphore that is initialized with a max number of permits. Each thread grabs a permit and executes. If all permits are exhausted, a thread blocks on a semaphore until a permit is available.
-
-
Constructor Summary
Constructors Constructor Description UimaBlockingExecutor(java.util.concurrent.ThreadPoolExecutor executor, int permits)
UimaBlockingExecutor(java.util.concurrent.ThreadPoolExecutor executor, int permits, java.lang.String destination)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
isReady()
void
stop()
void
submitTask(java.lang.Runnable task)
-
-
-
Method Detail
-
isReady
public boolean isReady()
-
stop
public void stop()
-
submitTask
public void submitTask(java.lang.Runnable task) throws java.lang.InterruptedException, java.util.concurrent.RejectedExecutionException
- Throws:
java.lang.InterruptedException
java.util.concurrent.RejectedExecutionException
-
-