@Override public Worker createWorker() { if (tracking) { return new TrackingParallelWorker(pick()); } return new NonTrackingParallelWorker(pick()); }
@Override public boolean isDisposed() { return get() >= INTERRUPTING; } }
/** * Begin executing the blocking event loop without any initial action. * <p> * This method will block until the {@link #shutdown()} is invoked. * @see #execute(Action) */ public void execute() { execute(Functions.EMPTY_ACTION); }
@Override public void run() { sa.setFuture(d); } };
@Override public void run() { tt.setFuture(ft); } };
@Test(timeout = 5000) public void taskThrowsTracking() throws Exception { Scheduler s = new ParallelScheduler(2, true); taskThrows(s); }
@Test public void shutdownBackingTracking() { ParallelScheduler s = new ParallelScheduler(2, true); shutdownBacking(s); }
@Test public void shutdownNonTracking() throws Exception { Scheduler s = new ParallelScheduler(2, false); shutdown(s); }
@Test public void cancelledTaskNotTracking() throws Exception { Scheduler s = new ParallelScheduler(2, false); cancelledTask(s); }
@Override public boolean isDisposed() { return get() >= INTERRUPTING; } }
@Override public void run() throws Exception { scheduler.scheduleDirect(new Runnable() { @Override public void run() { scheduler.shutdown(); throw new IllegalArgumentException(); } }); } });
@Override public void run() { sa.dispose(); } };
@Override public void run() { sa.run(); } };
@Override public Worker createWorker() { if (tracking) { return new TrackingParallelWorker(pick()); } return new NonTrackingParallelWorker(pick()); }
@Override public void run() { sa.setFuture(d); } };
@Override public void run() { tt.setFuture(ft); } };
@Test(timeout = 5000) public void taskThrowsNonTracking() throws Exception { Scheduler s = new ParallelScheduler(2, false); taskThrows(s); }
@Test public void shutdownBackingNonTracking() { ParallelScheduler s = new ParallelScheduler(2, false); shutdownBacking(s); }
@Test public void shutdownTracking() throws Exception { Scheduler s = new ParallelScheduler(2, true); shutdown(s); }
@Test public void cancelledTaskTracking() throws Exception { Scheduler s = new ParallelScheduler(2, true); cancelledTask(s); }