ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/src/main/java/util/concurrent/ScheduledThreadPoolExecutor.java
(Generate patch)

Comparing jsr166/src/main/java/util/concurrent/ScheduledThreadPoolExecutor.java (file contents):
Revision 1.88 by dl, Fri Apr 24 15:05:36 2015 UTC vs.
Revision 1.89 by jsr166, Sun Sep 20 03:26:13 2015 UTC

# Line 183 | Line 183 | public class ScheduledThreadPoolExecutor
183          /**
184           * Creates a one-shot action with given nanoTime-based trigger time.
185           */
186 <        ScheduledFutureTask(Runnable r, V result, long triggerTime) {
186 >        ScheduledFutureTask(Runnable r, V result, long triggerTime,
187 >                            long sequenceNumber) {
188              super(r, result);
189              this.time = triggerTime;
190              this.period = 0;
191 <            this.sequenceNumber = sequencer.getAndIncrement();
191 >            this.sequenceNumber = sequenceNumber;
192          }
193  
194          /**
# Line 195 | Line 196 | public class ScheduledThreadPoolExecutor
196           * trigger time and period.
197           */
198          ScheduledFutureTask(Runnable r, V result, long triggerTime,
199 <                            long period) {
199 >                            long period, long sequenceNumber) {
200              super(r, result);
201              this.time = triggerTime;
202              this.period = period;
203 <            this.sequenceNumber = sequencer.getAndIncrement();
203 >            this.sequenceNumber = sequenceNumber;
204          }
205  
206          /**
207           * Creates a one-shot action with given nanoTime-based trigger time.
208           */
209 <        ScheduledFutureTask(Callable<V> callable, long triggerTime) {
209 >        ScheduledFutureTask(Callable<V> callable, long triggerTime,
210 >                            long sequenceNumber) {
211              super(callable);
212              this.time = triggerTime;
213              this.period = 0;
214 <            this.sequenceNumber = sequencer.getAndIncrement();
214 >            this.sequenceNumber = sequenceNumber;
215          }
216  
217          public long getDelay(TimeUnit unit) {
# Line 529 | Line 531 | public class ScheduledThreadPoolExecutor
531              throw new NullPointerException();
532          RunnableScheduledFuture<Void> t = decorateTask(command,
533              new ScheduledFutureTask<Void>(command, null,
534 <                                          triggerTime(delay, unit)));
534 >                                          triggerTime(delay, unit),
535 >                                          sequencer.getAndIncrement()));
536          delayedExecute(t);
537          return t;
538      }
# Line 545 | Line 548 | public class ScheduledThreadPoolExecutor
548              throw new NullPointerException();
549          RunnableScheduledFuture<V> t = decorateTask(callable,
550              new ScheduledFutureTask<V>(callable,
551 <                                       triggerTime(delay, unit)));
551 >                                       triggerTime(delay, unit),
552 >                                       sequencer.getAndIncrement()));
553          delayedExecute(t);
554          return t;
555      }
# Line 567 | Line 571 | public class ScheduledThreadPoolExecutor
571              new ScheduledFutureTask<Void>(command,
572                                            null,
573                                            triggerTime(initialDelay, unit),
574 <                                          unit.toNanos(period));
574 >                                          unit.toNanos(period),
575 >                                          sequencer.getAndIncrement());
576          RunnableScheduledFuture<Void> t = decorateTask(command, sft);
577          sft.outerTask = t;
578          delayedExecute(t);
# Line 591 | Line 596 | public class ScheduledThreadPoolExecutor
596              new ScheduledFutureTask<Void>(command,
597                                            null,
598                                            triggerTime(initialDelay, unit),
599 <                                          unit.toNanos(-delay));
599 >                                          unit.toNanos(-delay),
600 >                                          sequencer.getAndIncrement());
601          RunnableScheduledFuture<Void> t = decorateTask(command, sft);
602          sft.outerTask = t;
603          delayedExecute(t);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines