133 |
|
* directly invoke its left task before returning. (This is an analog |
134 |
|
* of tail recursion removal.) Also, because the task returns upon |
135 |
|
* executing its left task (rather than falling through to invoke |
136 |
< |
* tryComplete) the pending count is set to one: |
136 |
> |
* {@code tryComplete}) the pending count is set to one: |
137 |
|
* |
138 |
|
* <pre> {@code |
139 |
|
* class ForEach<E> ... |
303 |
|
* distinguishes cases. Most often, when the caller is {@code this}, |
304 |
|
* no action is necessary. Otherwise the caller argument can be used |
305 |
|
* (usually via a cast) to supply a value (and/or links to other |
306 |
< |
* values) to be combined. Asuuming proper use of pending counts, the |
306 |
> |
* values) to be combined. Assuming proper use of pending counts, the |
307 |
|
* actions inside {@code onCompletion} occur (once) upon completion of |
308 |
|
* a task and its subtasks. No additional synchronization is required |
309 |
|
* within this method to ensure thread safety of accesses to fields of |
509 |
|
/** |
510 |
|
* If the pending count is nonzero, (atomically) decrements it. |
511 |
|
* |
512 |
< |
* @return the initial (undecremented) pending count holding on entry |
512 |
> |
* @return the initial (undecremented) pending count holding on entry |
513 |
|
* to this method |
514 |
|
*/ |
515 |
|
public final int decrementPendingCountUnlessZero() { |
626 |
|
* this task's pending count is non-zero, decrements its pending |
627 |
|
* count and returns {@code null}. Otherwise, returns the |
628 |
|
* completer. This method can be used as part of a completion |
629 |
< |
* traversal loop for homogenous task hierarchies: |
629 |
> |
* traversal loop for homogeneous task hierarchies: |
630 |
|
* |
631 |
|
* <pre> {@code |
632 |
< |
* for(CountedCompleter<?> c = firstComplete(); c != null; c = c.nextComplete()) { |
632 |
> |
* for (CountedCompleter<?> c = firstComplete(); |
633 |
> |
* c != null; |
634 |
> |
* c = c.nextComplete()) { |
635 |
|
* // ... process c ... |
636 |
|
* }}</pre> |
637 |
|
* |