[cvs] / jsr166 / src / main / java / util / concurrent / Callable.java Repository:
ViewVC logotype

View of /jsr166/src/main/java/util/concurrent/Callable.java

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.8 - (download) (annotate)
Sat Dec 27 19:26:25 2003 UTC (5 years, 10 months ago) by dl
Branch: MAIN
CVS Tags: JSR166_PFD, HEAD
Changes since 1.7: +2 -2 lines
Headers reference Creative Commons
/*
 * 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 java.util.concurrent;

/**
 * A task that returns a result and may throw an exception.
 * Implementors define a single method with no arguments called
 * <tt>call</tt>.
 *
 * <p>The <tt>Callable</tt> interface is similar to {@link
 * java.lang.Runnable}, in that both are designed for classes whose
 * instances are potentially executed by another thread.  A
 * <tt>Runnable</tt>, however, does not return a result and cannot
 * throw a checked exception.
 *
 * <p> The {@link Executors} class contains utility methods to
 * convert from other common forms to <tt>Callable</tt> classes.
 *
 * @see Executor
 * @since 1.5
 * @author Doug Lea
 * @param <V> the result type of method <tt>call</tt>
 */
public interface Callable<V> {
    /**
     * Computes a result, or throws an exception if unable to do so.
     *
     * @return computed result
     * @throws Exception if unable to compute a result
     */
    V call() throws Exception;
}

Doug Lea
ViewVC Help
Powered by ViewVC 1.0.8