@Override public void addListener(Runnable listener, Executor executor) { delegate.addListener(listener, executor); }
@Override protected void setUp() throws Exception { super.setUp(); exec = Executors.newCachedThreadPool(); task.addListener( new Runnable() { @Override public void run() { listenerLatch.countDown(); } }, directExecutor()); }
resourceManager.getExecutorService(queryRequest, request.getSchedulerGroup()); final ListenableFutureTask<byte[]> queryFutureTask = createQueryFutureTask(queryRequest, executor); queryFutureTask.addListener(new Runnable() { @Override public void run() {
@Override public void addListener(Runnable listener, Executor executor) { delegate.addListener(listener, executor); }
@Override public void addListener(Runnable listener, Executor executor) { delegate.addListener(listener, executor); }
@Override public void addListener(Runnable listener, Executor executor) { futureTask.addListener(listener, executor); }
@Override public void init(@Nonnull String taskId, @Nonnull ListenableFutureTask<V> future) { this.future = checkNotNull(future, "future"); this.taskId = checkNotNull(taskId, "taskId"); future.addListener(new Runnable() { @Override public void run() { notifyFinished(); } }, MoreExecutors.sameThreadExecutor()); }
@Override protected void setUp() throws Exception { super.setUp(); exec = Executors.newCachedThreadPool(); task.addListener(new Runnable() { @Override public void run() { listenerLatch.countDown(); } }, directExecutor()); }
private void reclaim(final Memtable memtable) { // issue a read barrier for reclaiming the memory, and offload the wait to another thread final OpOrder.Barrier readBarrier = readOrdering.newBarrier(); readBarrier.issue(); postFlushTask.addListener(new WrappedRunnable() { public void runMayThrow() { readBarrier.await(); memtable.setDiscarded(); } }, reclaimExecutor); } }
private void reclaim(final Memtable memtable) { // issue a read barrier for reclaiming the memory, and offload the wait to another thread final OpOrder.Barrier readBarrier = readOrdering.newBarrier(); readBarrier.issue(); postFlushTask.addListener(new WrappedRunnable() { public void runMayThrow() { readBarrier.await(); memtable.setDiscarded(); } }, reclaimExecutor); } }
@Override public <T, M extends MutableTaskMonitor<T>> M submit(@Nonnull MonitoredCallable<T, M> task) { maybeCleanup(); checkState(!shutdown, "The executor has already been shut down"); // create a future task so we can inject a future into the TaskMonitor before starting the task ListenableFutureTask<T> futureTask = ListenableFutureTask.create(task); // set the monitor so the task can feed back it's progress final M monitor = task.getMonitor(); initMonitor(monitor, futureTask); // mark the monitor as having completed when the task completes futureTask.addListener(new Runnable() { @Override public void run() { ExpiringRef<MutableTaskMonitor<?>> ref = monitors.get(monitor.getTaskId()); if (ref != null) { ref.expireIn(expiryIntervalNanos, TimeUnit.NANOSECONDS); } } }, MoreExecutors.sameThreadExecutor()); // start the task executorService.submit(futureTask); return monitor; }