Class RunnableFutureTask<R,E extends Exception>
- java.lang.Object
-
- com.google.android.exoplayer2.util.RunnableFutureTask<R,E>
-
- Type Parameters:
R
- The type of the result.E
- The type of anyExecutionException
cause.
- All Implemented Interfaces:
Runnable
,Future<R>
,RunnableFuture<R>
public abstract class RunnableFutureTask<R,E extends Exception> extends Object implements RunnableFuture<R>
ARunnableFuture
that supports additional uninterruptible operations to query whether execution has started and finished.
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
RunnableFutureTask()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
blockUntilFinished()
Blocks until the task has finished, or has been canceled without having been started.void
blockUntilStarted()
Blocks until the task has started, or has been canceled without having been started.boolean
cancel(boolean interruptIfRunning)
protected void
cancelWork()
Cancels any work being done bydoWork()
.protected abstract R
doWork()
Performs the work or computation.R
get()
R
get(long timeout, TimeUnit unit)
boolean
isCancelled()
boolean
isDone()
void
run()
-
-
-
Method Detail
-
blockUntilStarted
public final void blockUntilStarted()
Blocks until the task has started, or has been canceled without having been started.
-
blockUntilFinished
public final void blockUntilFinished()
Blocks until the task has finished, or has been canceled without having been started.
-
get
public final R get() throws ExecutionException, InterruptedException
- Specified by:
get
in interfaceFuture<R>
- Throws:
ExecutionException
InterruptedException
-
get
public final R get(long timeout, TimeUnit unit) throws ExecutionException, InterruptedException, TimeoutException
- Specified by:
get
in interfaceFuture<R>
- Throws:
ExecutionException
InterruptedException
TimeoutException
-
cancel
public final boolean cancel(boolean interruptIfRunning)
-
isCancelled
public final boolean isCancelled()
- Specified by:
isCancelled
in interfaceFuture<R>
-
run
public final void run()
- Specified by:
run
in interfaceRunnable
- Specified by:
run
in interfaceRunnableFuture<R>
-
cancelWork
protected void cancelWork()
-
-