Class ExecutorAsBackgroundResource (2.42.0)

public class ExecutorAsBackgroundResource implements BackgroundResource

ExecutorAsBackgroundResource wraps an ExecutorService so that it can be used as a BackgroundResource.

Inheritance

java.lang.Object > ExecutorAsBackgroundResource

Implements

BackgroundResource

Constructors

ExecutorAsBackgroundResource(ExecutorService executor)

public ExecutorAsBackgroundResource(ExecutorService executor)
Parameter
NameDescription
executorExecutorService

Methods

awaitTermination(long duration, TimeUnit unit)

public boolean awaitTermination(long duration, TimeUnit unit)

Blocks until all work has completed execution after a shutdown request, or the timeout occurs, or the current thread is interrupted, whichever happens first.

Parameters
NameDescription
durationlong
unitTimeUnit
Returns
TypeDescription
boolean
Exceptions
TypeDescription
InterruptedException

close()

public void close()
Exceptions
TypeDescription
Exception

isShutdown()

public boolean isShutdown()

Returns true if this background resource has been shut down.

Returns
TypeDescription
boolean

isTerminated()

public boolean isTerminated()

Returns true if all work has completed following shut down. Note that isTerminated is never true unless either shutdown or shutdownNow was called first.

Returns
TypeDescription
boolean

shutdown()

public void shutdown()

Initiates an orderly shutdown in which previously submitted work is finished, but no new work will be accepted. Invocation has no additional effect if already shut down.

This method does not wait for previously submitted work to complete execution. Use awaitTermination to do that.

shutdownNow()

public void shutdownNow()

Attempts to stop all actively executing work and halts the processing of waiting work.

This method does not wait for actively executing work to terminate. Use awaitTermination to do that.

There are no guarantees beyond best-effort attempts to stop processing actively executing work. For example, typical implementations will cancel via Thread.interrupt(), so any task that fails to respond to interrupts may never terminate.