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/licenses/publicdomain |
5 |
|
|
*/ |
6 |
|
|
|
7 |
|
|
|
8 |
|
|
/** |
9 |
dl |
1.3 |
* Preview versions of classes targeted for Java 7. Includes a |
10 |
|
|
* fine-grained parallel computation framework: ForkJoinTasks and |
11 |
|
|
* their related support classes provide a very efficient basis for |
12 |
|
|
* obtaining platform-independent parallel speed-ups of |
13 |
|
|
* computation-intensive operations. They are not a full substitute |
14 |
|
|
* for the kinds of arbitrary processing supported by Executors or |
15 |
|
|
* Threads. However, when applicable, they typically provide |
16 |
|
|
* significantly greater performance on multiprocessor platforms. |
17 |
|
|
* |
18 |
jsr166 |
1.5 |
* <p>Candidates for fork/join processing mainly include those that |
19 |
dl |
1.3 |
* can be expressed using parallel divide-and-conquer techniques: To |
20 |
|
|
* solve a problem, break it in two (or more) parts, and then solve |
21 |
|
|
* those parts in parallel, continuing on in this way until the |
22 |
|
|
* problem is too small to be broken up, so is solved directly. The |
23 |
|
|
* underlying <em>work-stealing</em> framework makes subtasks |
24 |
|
|
* available to other threads (normally one per CPU), that help |
25 |
|
|
* complete the tasks. In general, the most efficient ForkJoinTasks |
26 |
|
|
* are those that directly implement this algorithmic design pattern. |
27 |
dl |
1.1 |
*/ |
28 |
|
|
package jsr166y; |