Callable
A Runnable encapsulates a task that runs asynchronously. A Callable is similar to a Runnable, but it returns a value.
The Callable interface is similar to Runnable, in that both are designed for classes whose instances are potentially executed by another thread. A Runnable, however, does not return a result and cannot throw a checked exception. [1]
Bibliography
1. Java API