ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/src/jsr166y/ForkJoinTask.java
(Generate patch)

Comparing jsr166/src/jsr166y/ForkJoinTask.java (file contents):
Revision 1.94 by dl, Mon Nov 19 18:12:42 2012 UTC vs.
Revision 1.96 by dl, Wed Dec 19 00:02:59 2012 UTC

# Line 55 | Line 55 | import java.lang.reflect.Constructor;
55   * minimize other blocking synchronization apart from joining other
56   * tasks or using synchronizers such as Phasers that are advertised to
57   * cooperate with fork/join scheduling. Subdividable tasks should also
58 < * not perform blocking IO, and should ideally access variables that
58 > * not perform blocking I/O, and should ideally access variables that
59   * are completely independent of those accessed by other running
60   * tasks. These guidelines are loosely enforced by not permitting
61   * checked exceptions such as {@code IOExceptions} to be
# Line 73 | Line 73 | import java.lang.reflect.Constructor;
73   * <p>It is possible to define and use ForkJoinTasks that may block,
74   * but doing do 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 IO. Event-style async
76 > * that blocks on external synchronization or I/O. Event-style async
77   * tasks that are never joined (for example, those subclassing {@link
78   * CountedCompleter}) often fall into this category.  (2) To minimize
79   * resource impact, tasks should be small; ideally performing only the
# Line 978 | Line 978 | public abstract class ForkJoinTask<V> im
978          if (Thread.interrupted())
979              throw new InterruptedException();
980          // Messy in part because we measure in nanosecs, but wait in millisecs
981 <        int s; long ns, ms;
982 <        if ((s = status) >= 0 && (ns = unit.toNanos(timeout)) > 0L) {
981 >        int s; long ms;
982 >        long ns = unit.toNanos(timeout);
983 >        if ((s = status) >= 0 && ns > 0L) {
984              long deadline = System.nanoTime() + ns;
985              ForkJoinPool p = null;
986              ForkJoinPool.WorkQueue w = null;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines