# RunnableFuture

Added in[API level 9](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  
Summary:[Methods](https://developer.android.com/reference/java/util/concurrent/RunnableFuture#pubmethods)\|[Inherited Methods](https://developer.android.com/reference/java/util/concurrent/RunnableFuture#inhmethods)  

# RunnableFuture

`
public


interface
RunnableFuture
`  
`


implements

`[Future](https://developer.android.com/reference/java/util/concurrent/Future)`<V>,

`[Runnable](https://developer.android.com/reference/java/lang/Runnable)`


`

|------------------------------------------|
| java.util.concurrent.RunnableFuture\<V\> |

|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Known indirect subclasses [FutureTask](https://developer.android.com/reference/java/util/concurrent/FutureTask)\<V\>,[RunnableScheduledFuture](https://developer.android.com/reference/java/util/concurrent/RunnableScheduledFuture)\<V\> |----------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | [FutureTask](https://developer.android.com/reference/java/util/concurrent/FutureTask)\<V\>                           | A cancellable asynchronous computation.                                                                                                                                        | | [RunnableScheduledFuture](https://developer.android.com/reference/java/util/concurrent/RunnableScheduledFuture)\<V\> | A[ScheduledFuture](https://developer.android.com/reference/java/util/concurrent/ScheduledFuture)that is[Runnable](https://developer.android.com/reference/java/lang/Runnable). | |

<br />

*** ** * ** ***

A[Future](https://developer.android.com/reference/java/util/concurrent/Future)that is[Runnable](https://developer.android.com/reference/java/lang/Runnable). Successful execution of the`run`method causes completion of the`Future`and allows access to its results.  
**See also:**

- [FutureTask](https://developer.android.com/reference/java/util/concurrent/FutureTask)
- [Executor](https://developer.android.com/reference/java/util/concurrent/Executor)

## Summary

|                                                                                         ### Public methods                                                                                         ||
|------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ` abstract void` | ` `[run](https://developer.android.com/reference/java/util/concurrent/RunnableFuture#run())`() ` Sets this Future to the result of its computation unless it has been cancelled. |

| ### Inherited methods |
|-----------------------|---|
| From interface` `[java.util.concurrent.Future](https://developer.android.com/reference/java/util/concurrent/Future)` ` |------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ` abstract boolean`                                                                                  | ` `[cancel](https://developer.android.com/reference/java/util/concurrent/Future#cancel(boolean))`(boolean mayInterruptIfRunning) ` Attempts to cancel execution of this task.                                                                                                                                                                                   | | ` default `[Throwable](https://developer.android.com/reference/java/lang/Throwable)                  | ` `[exceptionNow](https://developer.android.com/reference/java/util/concurrent/Future#exceptionNow())`() ` Returns the exception thrown by the task, without waiting.                                                                                                                                                                                           | | ` abstract V`                                                                                        | ` `[get](https://developer.android.com/reference/java/util/concurrent/Future#get(long,%20java.util.concurrent.TimeUnit))`(long timeout, `[TimeUnit](https://developer.android.com/reference/java/util/concurrent/TimeUnit)` unit) ` Waits if necessary for at most the given time for the computation to complete, and then retrieves its result, if available. | | ` abstract V`                                                                                        | ` `[get](https://developer.android.com/reference/java/util/concurrent/Future#get())`() ` Waits if necessary for the computation to complete, and then retrieves its result.                                                                                                                                                                                     | | ` abstract boolean`                                                                                  | ` `[isCancelled](https://developer.android.com/reference/java/util/concurrent/Future#isCancelled())`() ` Returns`true`if this task was cancelled before it completed normally.                                                                                                                                                                                  | | ` abstract boolean`                                                                                  | ` `[isDone](https://developer.android.com/reference/java/util/concurrent/Future#isDone())`() ` Returns`true`if this task completed.                                                                                                                                                                                                                             | | ` default V`                                                                                         | ` `[resultNow](https://developer.android.com/reference/java/util/concurrent/Future#resultNow())`() ` Returns the computed result, without waiting.                                                                                                                                                                                                              | | ` default `[Future.State](https://developer.android.com/reference/java/util/concurrent/Future.State) | ` `[state](https://developer.android.com/reference/java/util/concurrent/Future#state())`() ` <br />                                                                                                                                                                                                                                                             | ||
| From interface` `[java.lang.Runnable](https://developer.android.com/reference/java/lang/Runnable)` ` |------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ` abstract void` | ` `[run](https://developer.android.com/reference/java/lang/Runnable#run())`() ` When an object implementing interface`Runnable`is used to create a thread, starting the thread causes the object's`run`method to be called in that separately executing thread. | ||

## Public methods

### run

Added in[API level 9](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public abstract void run ()
```

Sets this Future to the result of its computation unless it has been cancelled.

<br />