71 |
|
* encountering the exception; minimally only the latter. |
72 |
|
* |
73 |
|
* <p>It is possible to define and use ForkJoinTasks that may block, |
74 |
< |
* but doing do requires three further considerations: (1) Completion |
74 |
> |
* but doing so requires three further considerations: (1) Completion |
75 |
|
* of few if any <em>other</em> tasks should be dependent on a task |
76 |
|
* that blocks on external synchronization or I/O. Event-style async |
77 |
|
* tasks that are never joined (for example, those subclassing {@link |
1086 |
|
|
1087 |
|
/** |
1088 |
|
* Possibly executes tasks until the pool hosting the current task |
1089 |
< |
* {@link ForkJoinPool#isQuiescent is quiescent}. This method may |
1090 |
< |
* be of use in designs in which many tasks are forked, but none |
1091 |
< |
* are explicitly joined, instead executing them until all are |
1092 |
< |
* processed. |
1089 |
> |
* {@linkplain ForkJoinPool#isQuiescent is quiescent}. This |
1090 |
> |
* method may be of use in designs in which many tasks are forked, |
1091 |
> |
* but none are explicitly joined, instead executing them until |
1092 |
> |
* all are processed. |
1093 |
|
*/ |
1094 |
|
public static void helpQuiesce() { |
1095 |
|
Thread t; |
1347 |
|
} |
1348 |
|
|
1349 |
|
/** |
1350 |
< |
* Adaptor for Runnables. This implements RunnableFuture |
1350 |
> |
* Adapter for Runnables. This implements RunnableFuture |
1351 |
|
* to be compliant with AbstractExecutorService constraints |
1352 |
|
* when used in ForkJoinPool. |
1353 |
|
*/ |
1368 |
|
} |
1369 |
|
|
1370 |
|
/** |
1371 |
< |
* Adaptor for Runnables without results |
1371 |
> |
* Adapter for Runnables without results |
1372 |
|
*/ |
1373 |
|
static final class AdaptedRunnableAction extends ForkJoinTask<Void> |
1374 |
|
implements RunnableFuture<Void> { |
1385 |
|
} |
1386 |
|
|
1387 |
|
/** |
1388 |
< |
* Adaptor for Runnables in which failure forces worker exception |
1388 |
> |
* Adapter for Runnables in which failure forces worker exception |
1389 |
|
*/ |
1390 |
|
static final class RunnableExecuteAction extends ForkJoinTask<Void> { |
1391 |
|
final Runnable runnable; |
1403 |
|
} |
1404 |
|
|
1405 |
|
/** |
1406 |
< |
* Adaptor for Callables |
1406 |
> |
* Adapter for Callables |
1407 |
|
*/ |
1408 |
|
static final class AdaptedCallable<T> extends ForkJoinTask<T> |
1409 |
|
implements RunnableFuture<T> { |