560 |
|
/** |
561 |
|
* Forks the given tasks, returning when {@code isDone} holds for |
562 |
|
* each task or an (unchecked) exception is encountered, in which |
563 |
< |
* case the exception is rethrown. If more than one task |
564 |
< |
* encounters an exception, then this method throws any one of |
565 |
< |
* these exceptions. The individual status of each task may be |
563 |
> |
* case the exception is rethrown. If either task encounters an |
564 |
> |
* exception, the other one may be, but is not guaranteed to be, |
565 |
> |
* cancelled. If both tasks throw an exception, then this method |
566 |
> |
* throws one of them. The individual status of each task may be |
567 |
|
* checked using {@link #getException()} and related methods. |
568 |
|
* |
569 |
|
* <p>This method may be invoked only from within {@code |
726 |
|
return (status & COMPLETION_MASK) == CANCELLED; |
727 |
|
} |
728 |
|
|
728 |
– |
/** |
729 |
– |
* Returns {@code true} if the computation performed by this task |
730 |
– |
* has completed (or has been cancelled). |
731 |
– |
* |
732 |
– |
* @return {@code true} if this computation has completed |
733 |
– |
*/ |
729 |
|
public final boolean isDone() { |
730 |
|
return status < 0; |
731 |
|
} |
732 |
|
|
738 |
– |
/** |
739 |
– |
* Returns {@code true} if this task was cancelled. |
740 |
– |
* |
741 |
– |
* @return {@code true} if this task was cancelled |
742 |
– |
*/ |
733 |
|
public final boolean isCancelled() { |
734 |
|
return (status & COMPLETION_MASK) == CANCELLED; |
735 |
|
} |