--- jsr166/src/jsr166y/ForkJoinTask.java 2009/08/04 22:47:08 1.38
+++ jsr166/src/jsr166y/ForkJoinTask.java 2009/08/06 23:08:50 1.42
@@ -80,16 +80,14 @@ import java.util.WeakHashMap;
*
The execution status of tasks may be queried at several levels
* of detail: {@link #isDone} is true if a task completed in any way
* (including the case where a task was cancelled without executing);
- * {@link #isCancelled} is true if completion was due to cancellation;
* {@link #isCompletedNormally} is true if a task completed without
- * cancellation or encountering an exception; {@link
- * #isCompletedExceptionally} is true if if the task encountered an
- * exception (in which case {@link #getException} returns the
- * exception); {@link #isCancelled} is true if the task was cancelled
- * (in which case {@link #getException} returns a {@link
- * java.util.concurrent.CancellationException}); and {@link
- * #isCompletedAbnormally} is true if a task was either cancelled or
- * encountered an exception.
+ * cancellation or encountering an exception; {@link #isCancelled} is
+ * true if the task was cancelled (in which case {@link #getException}
+ * returns a {@link java.util.concurrent.CancellationException}); and
+ * {@link #isCompletedAbnormally} is true if a task was either
+ * cancelled or encountered an exception, in which case {@link
+ * #getException} will return either the encountered exception or
+ * {@link java.util.concurrent.CancellationException}.
*
*
The ForkJoinTask class is not usually directly subclassed.
* Instead, you subclass one of the abstract classes that support a
@@ -529,7 +527,7 @@ public abstract class ForkJoinTask im
}
/**
- * Returns the result of the computation when it is ready.
+ * Returns the result of the computation when it {@link #isDone is done}.
* This method differs from {@link #get()} in that
* abnormal completion results in {@code RuntimeException} or
* {@code Error}, not {@code ExecutionException}.
@@ -560,9 +558,10 @@ public abstract class ForkJoinTask im
/**
* Forks the given tasks, returning when {@code isDone} holds for
* each task or an (unchecked) exception is encountered, in which
- * case the exception is rethrown. If more than one task
- * encounters an exception, then this method throws any one of
- * these exceptions. The individual status of each task may be
+ * case the exception is rethrown. If either task encounters an
+ * exception, the other one may be, but is not guaranteed to be,
+ * cancelled. If both tasks throw an exception, then this method
+ * throws one of them. The individual status of each task may be
* checked using {@link #getException()} and related methods.
*
* This method may be invoked only from within {@code
@@ -725,21 +724,10 @@ public abstract class ForkJoinTask im
return (status & COMPLETION_MASK) == CANCELLED;
}
- /**
- * Returns {@code true} if the computation performed by this task
- * has completed (or has been cancelled).
- *
- * @return {@code true} if this computation has completed
- */
public final boolean isDone() {
return status < 0;
}
- /**
- * Returns {@code true} if this task was cancelled.
- *
- * @return {@code true} if this task was cancelled
- */
public final boolean isCancelled() {
return (status & COMPLETION_MASK) == CANCELLED;
}
@@ -765,15 +753,6 @@ public abstract class ForkJoinTask im
}
/**
- * Returns {@code true} if this task threw an exception.
- *
- * @return {@code true} if this task threw an exception
- */
- public final boolean isCompletedExceptionally() {
- return (status & COMPLETION_MASK) == EXCEPTIONAL;
- }
-
- /**
* Returns the exception thrown by the base computation, or a
* {@code CancellationException} if cancelled, or {@code null} if
* none or if the method has not yet completed.
@@ -846,13 +825,13 @@ public abstract class ForkJoinTask im
}
/**
- * Possibly executes other tasks until this task is ready, then
- * returns the result of the computation. This method may be more
- * efficient than {@code join}, but is only applicable when
- * there are no potential dependencies between continuation of the
- * current task and that of any other task that might be executed
- * while helping. (This usually holds for pure divide-and-conquer
- * tasks).
+ * Possibly executes other tasks until this task {@link #isDone is
+ * done}, then returns the result of the computation. This method
+ * may be more efficient than {@code join}, but is only applicable
+ * when there are no potential dependencies between continuation
+ * of the current task and that of any other task that might be
+ * executed while helping. (This usually holds for pure
+ * divide-and-conquer tasks).
*
* This method may be invoked only from within {@code
* ForkJoinTask} computations (as may be determined using method
@@ -870,9 +849,10 @@ public abstract class ForkJoinTask im
}
/**
- * Possibly executes other tasks until this task is ready. This
- * method may be useful when processing collections of tasks when
- * some have been cancelled or otherwise known to have aborted.
+ * Possibly executes other tasks until this task {@link #isDone is
+ * done}. This method may be useful when processing collections
+ * of tasks when some have been cancelled or otherwise known to
+ * have aborted.
*
* This method may be invoked only from within {@code
* ForkJoinTask} computations (as may be determined using method