ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/src/jsr166y/RecursiveTask.java
(Generate patch)

Comparing jsr166/src/jsr166y/RecursiveTask.java (file contents):
Revision 1.1 by dl, Tue Jan 6 14:30:31 2009 UTC vs.
Revision 1.5 by jsr166, Wed Jul 22 01:36:51 2009 UTC

# Line 10 | Line 10 | package jsr166y;
10   * Recursive result-bearing ForkJoinTasks.
11   * <p> For a classic example, here is a task computing Fibonacci numbers:
12   *
13 < * <pre>
14 < * class Fibonacci extends RecursiveTask&lt;Integer&gt; {
13 > *  <pre> {@code
14 > * class Fibonacci extends RecursiveTask<Integer> {
15   *   final int n;
16 < *   Fibonnaci(int n) { this.n = n; }
16 > *   Fibonacci(int n) { this.n = n; }
17   *   Integer compute() {
18 < *     if (n &lt;= 1)
18 > *     if (n <= 1)
19   *        return n;
20   *     Fibonacci f1 = new Fibonacci(n - 1);
21   *     f1.fork();
22   *     Fibonacci f2 = new Fibonacci(n - 2);
23   *     return f2.compute() + f1.join();
24   *   }
25 < * }
26 < * </pre>
25 > * }}</pre>
26   *
27   * However, besides being a dumb way to compute Fibonacci functions
28   * (there is a simple fast linear algorithm that you'd use in
# Line 31 | Line 30 | package jsr166y;
30   * subtasks are too small to be worthwhile splitting up. Instead, as
31   * is the case for nearly all fork/join applications, you'd pick some
32   * minimum granularity size (for example 10 here) for which you always
33 < * sequentially solve rather than subdividing.  
33 > * sequentially solve rather than subdividing.
34   *
35 + * @since 1.7
36 + * @author Doug Lea
37   */
38   public abstract class RecursiveTask<V> extends ForkJoinTask<V> {
39  
40      /**
41 <     * Empty contructor for use by subclasses.
41 >     * Empty constructor for use by subclasses.
42       */
43      protected RecursiveTask() {
44      }
# Line 48 | Line 49 | public abstract class RecursiveTask<V> e
49      V result;
50  
51      /**
52 <     * The main computation performed by this task.
52 >     * The main computation performed by this task.
53       */
54      protected abstract V compute();
55  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines