ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/src/main/java/util/concurrent/Callable.java
Revision: 1.8
Committed: Sat Dec 27 19:26:25 2003 UTC (20 years, 5 months ago) by dl
Branch: MAIN
CVS Tags: JSR166_PFD
Changes since 1.7: +2 -2 lines
Log Message:
Headers reference Creative Commons

File Contents

# User Rev Content
1 tim 1.1 /*
2 dl 1.2 * Written by Doug Lea with assistance from members of JCP JSR-166
3 dl 1.8 * Expert Group and released to the public domain, as explained at
4     * http://creativecommons.org/licenses/publicdomain
5 tim 1.1 */
6    
7     package java.util.concurrent;
8    
9     /**
10 dl 1.4 * A task that returns a result and may throw an exception.
11     * Implementors define a single method with no arguments called
12     * <tt>call</tt>.
13 tim 1.1 *
14 dl 1.5 * <p>The <tt>Callable</tt> interface is similar to {@link
15     * java.lang.Runnable}, in that both are designed for classes whose
16     * instances are potentially executed by another thread. A
17     * <tt>Runnable</tt>, however, does not return a result and cannot
18     * throw a checked exception.
19 tim 1.1 *
20 dl 1.7 * <p> The {@link Executors} class contains utility methods to
21     * convert from other common forms to <tt>Callable</tt> classes.
22     *
23 tim 1.1 * @see Executor
24 dl 1.5 * @since 1.5
25 dl 1.4 * @author Doug Lea
26 dl 1.6 * @param <V> the result type of method <tt>call</tt>
27 tim 1.1 */
28     public interface Callable<V> {
29     /**
30     * Computes a result, or throws an exception if unable to do so.
31     *
32     * @return computed result
33     * @throws Exception if unable to compute a result
34     */
35     V call() throws Exception;
36     }