ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/src/jdk7/java/util/concurrent/Callable.java
Revision: 1.2
Committed: Wed Jan 16 01:39:37 2013 UTC (11 years, 4 months ago) by jsr166
Branch: MAIN
CVS Tags: HEAD
Changes since 1.1: +5 -5 lines
Log Message:
<tt> -> {@code

File Contents

# User Rev Content
1 dl 1.1 /*
2     * Written by Doug Lea with assistance from members of JCP JSR-166
3     * Expert Group and released to the public domain, as explained at
4     * http://creativecommons.org/publicdomain/zero/1.0/
5     */
6    
7     package java.util.concurrent;
8    
9     /**
10     * A task that returns a result and may throw an exception.
11     * Implementors define a single method with no arguments called
12 jsr166 1.2 * {@code call}.
13 dl 1.1 *
14 jsr166 1.2 * <p>The {@code Callable} interface is similar to {@link
15 dl 1.1 * java.lang.Runnable}, in that both are designed for classes whose
16     * instances are potentially executed by another thread. A
17 jsr166 1.2 * {@code Runnable}, however, does not return a result and cannot
18 dl 1.1 * throw a checked exception.
19     *
20     * <p>The {@link Executors} class contains utility methods to
21 jsr166 1.2 * convert from other common forms to {@code Callable} classes.
22 dl 1.1 *
23     * @see Executor
24     * @since 1.5
25     * @author Doug Lea
26 jsr166 1.2 * @param <V> the result type of method {@code call}
27 dl 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     }