--- jsr166/src/jsr166y/ForkJoinTask.java 2009/01/07 19:12:36 1.3
+++ jsr166/src/jsr166y/ForkJoinTask.java 2009/01/12 17:16:18 1.4
@@ -18,7 +18,7 @@ import java.lang.reflect.*;
* lighter weight than a normal thread. Huge numbers of tasks and
* subtasks may be hosted by a small number of actual threads in a
* ForkJoinPool, at the price of some usage limitations.
- *
+ *
*
A "main" ForkJoinTask begins execution when submitted to a
* {@link ForkJoinPool}. Once started, it will usually in turn start
* other subtasks. As indicated by the name of this class, many
@@ -28,7 +28,7 @@ import java.lang.reflect.*;
* of other methods that can come into play in advanced usages, as
* well as extension mechanics that allow support of new forms of
* fork/join processing.
- *
+ *
*
A ForkJoinTask is a lightweight form of {@link Future}. The
* efficiency of ForkJoinTasks stems from a set of restrictions (that
* are only partially statically enforceable) reflecting their
@@ -82,7 +82,7 @@ import java.lang.reflect.*;
* instances of different task subclasses to call each others
* methods), some of them may only be called from within other
* ForkJoinTasks. Attempts to invoke them in other contexts result in
- * exceptions or errors including ClassCastException.
+ * exceptions or errors possibly including ClassCastException.
*
*
Most base support methods are final
because their
* implementations are intrinsically tied to the underlying
@@ -475,7 +475,7 @@ public abstract class ForkJoinTask im
* than once unless it has completed and been reinitialized. This
* method may be invoked only from within ForkJoinTask
* computations. Attempts to invoke in other contexts result in
- * exceptions or errors including ClassCastException.
+ * exceptions or errors possibly including ClassCastException.
*/
public final void fork() {
((ForkJoinWorkerThread)(Thread.currentThread())).pushTask(this);
@@ -515,7 +515,7 @@ public abstract class ForkJoinTask im
* both of them or an exception is encountered. This method may be
* invoked only from within ForkJoinTask computations. Attempts to
* invoke in other contexts result in exceptions or errors
- * including ClassCastException.
+ * possibly including ClassCastException.
* @param t1 one task
* @param t2 the other task
* @throws NullPointerException if t1 or t2 are null
@@ -532,7 +532,7 @@ public abstract class ForkJoinTask im
* for all of them. If any task encounters an exception, others
* may be cancelled. This method may be invoked only from within
* ForkJoinTask computations. Attempts to invoke in other contexts
- * result in exceptions or errors including ClassCastException.
+ * result in exceptions or errors possibly including ClassCastException.
* @param tasks the array of tasks
* @throws NullPointerException if tasks or any element are null.
* @throws RuntimeException or Error if any task did so.
@@ -576,7 +576,7 @@ public abstract class ForkJoinTask im
* encounters an exception, others may be cancelled. This method
* may be invoked only from within ForkJoinTask
* computations. Attempts to invoke in other contexts resul!t in
- * exceptions or errors including ClassCastException.
+ * exceptions or errors possibly including ClassCastException.
* @param tasks the collection of tasks
* @throws NullPointerException if tasks or any element are null.
* @throws RuntimeException or Error if any task did so.
@@ -758,7 +758,7 @@ public abstract class ForkJoinTask im
* while helping. (This usually holds for pure divide-and-conquer
* tasks). This method may be invoked only from within
* ForkJoinTask computations. Attempts to invoke in other contexts
- * resul!t in exceptions or errors including ClassCastException.
+ * resul!t in exceptions or errors possibly including ClassCastException.
* @return the computed result
*/
public final V helpJoin() {
@@ -772,7 +772,7 @@ public abstract class ForkJoinTask im
* Possibly executes other tasks until this task is ready. This
* method may be invoked only from within ForkJoinTask
* computations. Attempts to invoke in other contexts resul!t in
- * exceptions or errors including ClassCastException.
+ * exceptions or errors possibly including ClassCastException.
*/
public final void quietlyHelpJoin() {
if (status >= 0) {
@@ -855,7 +855,7 @@ public abstract class ForkJoinTask im
* alternative local processing of tasks that could have been, but
* were not, stolen. This method may be invoked only from within
* ForkJoinTask computations. Attempts to invoke in other contexts
- * result in exceptions or errors including ClassCastException.
+ * result in exceptions or errors possibly including ClassCastException.
* @return true if unforked
*/
public boolean tryUnfork() {
@@ -932,6 +932,9 @@ public abstract class ForkJoinTask im
* actually be polled or executed next.
* This method is designed primarily to support extensions,
* and is unlikely to be useful otherwise.
+ * This method may be invoked only from within
+ * ForkJoinTask computations. Attempts to invoke in other contexts
+ * result in exceptions or errors possibly including ClassCastException.
*
* @return the next task, or null if none are available
*/
@@ -944,6 +947,9 @@ public abstract class ForkJoinTask im
* recently forked by the current thread but not yet executed.
* This method is designed primarily to support extensions,
* and is unlikely to be useful otherwise.
+ * This method may be invoked only from within
+ * ForkJoinTask computations. Attempts to invoke in other contexts
+ * result in exceptions or errors possibly including ClassCastException.
*
* @return the next task, or null if none are available
*/
@@ -957,15 +963,18 @@ public abstract class ForkJoinTask im
* one is available, or if not available, a task that was forked
* by some other thread, if available. Availability may be
* transient, so a null
result does not necessarily
- * imply quiecence of the pool this task is operating in.
+ * imply quiecence of the pool this task is operating in.
* This method is designed primarily to support extensions,
* and is unlikely to be useful otherwise.
- *
+ * This method may be invoked only from within
+ * ForkJoinTask computations. Attempts to invoke in other contexts
+ * result in exceptions or errors possibly including ClassCastException.
+ *
* @return a task, or null if none are available
*/
protected static ForkJoinTask> pollTask() {
return ((ForkJoinWorkerThread)(Thread.currentThread())).
- pollLocalOrStolenTask();
+ pollTask();
}
// Serialization support