Package hudson.remoting
Class AtmostOneThreadExecutor
- java.lang.Object
-
- java.util.concurrent.AbstractExecutorService
-
- hudson.remoting.AtmostOneThreadExecutor
-
- All Implemented Interfaces:
Executor
,ExecutorService
public class AtmostOneThreadExecutor extends AbstractExecutorService
ExecutorService
that uses at most one executor.Compared to
Executors.newFixedThreadPool(1)
, this code will not keep the thread around if it's not doing anything, freeing up resources.- Since:
- 2.24
- Author:
- Kohsuke Kawaguchi
-
-
Constructor Summary
Constructors Constructor Description AtmostOneThreadExecutor()
AtmostOneThreadExecutor(ThreadFactory factory)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
awaitTermination(long timeout, TimeUnit unit)
void
execute(Runnable command)
boolean
isShutdown()
boolean
isTerminated()
void
shutdown()
List<Runnable>
shutdownNow()
-
Methods inherited from class java.util.concurrent.AbstractExecutorService
invokeAll, invokeAll, invokeAny, invokeAny, newTaskFor, newTaskFor, submit, submit, submit
-
-
-
-
Constructor Detail
-
AtmostOneThreadExecutor
public AtmostOneThreadExecutor(ThreadFactory factory)
-
AtmostOneThreadExecutor
public AtmostOneThreadExecutor()
-
-
Method Detail
-
shutdown
public void shutdown()
-
isShutdown
public boolean isShutdown()
-
isTerminated
public boolean isTerminated()
-
awaitTermination
public boolean awaitTermination(long timeout, TimeUnit unit) throws InterruptedException
- Throws:
InterruptedException
-
execute
public void execute(@NonNull Runnable command)
-
-