scala.actors.threadpool.Callable Maven / Gradle / Ivy
/*
* Written by Doug Lea with assistance from members of JCP JSR-166
* Expert Group and released to the public domain, as explained at
* http://creativecommons.org/licenses/publicdomain
*/
package scala.actors.threadpool;
/**
* A task that returns a result and may throw an exception.
* Implementors define a single method with no arguments called
* call.
*
* The Callable interface is similar to {@link
* java.lang.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.
*
*
The {@link Executors} class contains utility methods to
* convert from other common forms to Callable classes.
*
* @see Executor
* @since 1.5
* @author Doug Lea
*/
public interface Callable {
/**
* Computes a result, or throws an exception if unable to do so.
*
* @return computed result
* @throws Exception if unable to compute a result
*/
Object call() throws Exception;
}