Class SameThreadExecutorService
java.lang.Object
ch.raffael.meldioc.util.concurrent.SameThreadExecutorService
- All Implemented Interfaces:
java.util.concurrent.Executor,java.util.concurrent.ExecutorService
public class SameThreadExecutorService
extends java.lang.Object
implements java.util.concurrent.ExecutorService
Executor that runs all tasks in the submitting thread.
It does, however, honor the contract of executor services. Several
tasks can be run concurrently (when submitted from multiple threads), it
doesn't accept any new work on shutdown, awaitTermination() waits until all tasks are done.
-
Constructor Summary
Constructors Constructor Description SameThreadExecutorService() -
Method Summary
Modifier and Type Method Description booleanawaitTermination(long timeout, java.util.concurrent.TimeUnit unit)voidexecute(java.lang.Runnable command)<T> java.util.List<java.util.concurrent.Future<T>>invokeAll(java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks)<T> java.util.List<java.util.concurrent.Future<T>>invokeAll(java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks, long timeout, java.util.concurrent.TimeUnit unit)<T> TinvokeAny(java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks)<T> TinvokeAny(java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks, long timeout, java.util.concurrent.TimeUnit unit)booleanisShutdown()booleanisTerminated()voidshutdown()java.util.List<java.lang.Runnable>shutdownNow()java.util.concurrent.Future<?>submit(java.lang.Runnable task)<T> java.util.concurrent.Future<T>submit(java.lang.Runnable task, T result)<T> java.util.concurrent.Future<T>submit(java.util.concurrent.Callable<T> task)Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Constructor Details
-
SameThreadExecutorService
public SameThreadExecutorService()
-
-
Method Details
-
execute
public void execute(java.lang.Runnable command)- Specified by:
executein interfacejava.util.concurrent.Executor
-
submit
public <T> java.util.concurrent.Future<T> submit(java.util.concurrent.Callable<T> task)- Specified by:
submitin interfacejava.util.concurrent.ExecutorService
-
submit
public <T> java.util.concurrent.Future<T> submit(java.lang.Runnable task, @Nullable T result)- Specified by:
submitin interfacejava.util.concurrent.ExecutorService
-
submit
public java.util.concurrent.Future<?> submit(java.lang.Runnable task)- Specified by:
submitin interfacejava.util.concurrent.ExecutorService
-
invokeAll
public <T> java.util.List<java.util.concurrent.Future<T>> invokeAll(java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks)- Specified by:
invokeAllin interfacejava.util.concurrent.ExecutorService
-
invokeAll
public <T> java.util.List<java.util.concurrent.Future<T>> invokeAll(java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks, long timeout, java.util.concurrent.TimeUnit unit)- Specified by:
invokeAllin interfacejava.util.concurrent.ExecutorService
-
invokeAny
@Nullable public <T> T invokeAny(java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks)- Specified by:
invokeAnyin interfacejava.util.concurrent.ExecutorService
-
invokeAny
@Nullable public <T> T invokeAny(java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks, long timeout, java.util.concurrent.TimeUnit unit)- Specified by:
invokeAnyin interfacejava.util.concurrent.ExecutorService
-
shutdown
public void shutdown()- Specified by:
shutdownin interfacejava.util.concurrent.ExecutorService
-
shutdownNow
public java.util.List<java.lang.Runnable> shutdownNow()- Specified by:
shutdownNowin interfacejava.util.concurrent.ExecutorService
-
isShutdown
public boolean isShutdown()- Specified by:
isShutdownin interfacejava.util.concurrent.ExecutorService
-
isTerminated
public boolean isTerminated()- Specified by:
isTerminatedin interfacejava.util.concurrent.ExecutorService
-
awaitTermination
public boolean awaitTermination(long timeout, java.util.concurrent.TimeUnit unit) throws java.lang.InterruptedException- Specified by:
awaitTerminationin interfacejava.util.concurrent.ExecutorService- Throws:
java.lang.InterruptedException
-