java.util.concurrent.ScheduledThreadPoolExecutor.getQueue()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(8.7k)|赞(0)|评价(0)|浏览(95)

本文整理了Java中java.util.concurrent.ScheduledThreadPoolExecutor.getQueue()方法的一些代码示例,展示了ScheduledThreadPoolExecutor.getQueue()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ScheduledThreadPoolExecutor.getQueue()方法的具体详情如下:
包路径:java.util.concurrent.ScheduledThreadPoolExecutor
类名称:ScheduledThreadPoolExecutor
方法名:getQueue

ScheduledThreadPoolExecutor.getQueue介绍

[英]Returns the task queue used by this executor. Each element of this queue is a ScheduledFuture, including those tasks submitted using execute which are for scheduling purposes used as the basis of a zero-delay ScheduledFuture. Iteration over this queue is not guaranteed to traverse tasks in the order in which they will execute.
[中]返回此执行器使用的任务队列。该队列的每个元素都是ScheduledFuture,包括使用execute提交的任务,这些任务用于调度目的,用作零延迟ScheduledFuture的基础。该队列上的迭代保证按照任务执行的顺序遍历任务。

代码示例

代码示例来源:origin: ehcache/ehcache3

public BlockingQueue<Runnable> getQueue() {
 return scheduler.getQueue();
}

代码示例来源:origin: apache/flink

@VisibleForTesting
int getNumTasksScheduled() {
  BlockingQueue<?> queue = timerService.getQueue();
  if (queue == null) {
    return 0;
  } else {
    return queue.size();
  }
}

代码示例来源:origin: apache/geode

/**
 * Run all cancelation tasks. Leave the executor's task queue empty.
 */
private void cancelAllQueries(final ScheduledThreadPoolExecutor executor) {
 final BlockingQueue<Runnable> expirationTaskQueue = executor.getQueue();
 for (final Runnable cancelationTask : expirationTaskQueue) {
  if (expirationTaskQueue.remove(cancelationTask)) {
   cancelationTask.run();
  }
 }
}

代码示例来源:origin: stagemonitor/stagemonitor

private void scheduleFlushIfBulkQueueExceedsMaxBatchSize() {
  if (bulkQueue.size() > elasticsearchTracingPlugin.getMaxBatchSize() && scheduler.getQueue().isEmpty()) {
    synchronized (this) {
      if (scheduler.getQueue().isEmpty()) {
        scheduler.schedule(spanFlushingRunnable, 0, TimeUnit.SECONDS);
      }
    }
  }
}

代码示例来源:origin: voldemort/voldemort

@JmxGetter(name = "numQueuedTasks",
    description = "Returns number of tasks queued for execution")
public long getQueuedTasksCount() {
  return this.scheduler.getQueue().size();
}

代码示例来源:origin: apache/geode

private void logDebug(final DefaultQuery query, final String message) {
 final Thread queryThread = Thread.currentThread();
 logger.debug(
   message + " QueryMonitor size is: {}, Thread (id): {}, Query: {}, Thread is : {}",
   executor.getQueue().size(), queryThread.getId(), query.getQueryString(),
   queryThread);
}

代码示例来源:origin: alibaba/nacos

@Override
  public void run() {
    int size = ((ScheduledThreadPoolExecutor)notifySingleService.getExecutor()).getQueue().size();
    memoryLog.info("notifySingleServiceThreadPool-{}, toNotifyTaskSize={}",
      new Object[] {((ScheduledThreadPoolExecutor)notifySingleService.getExecutor()).getClass().getName(),
        size});
    MetricsMonitor.getNotifyTaskMonitor().set(size);
  }
}

代码示例来源:origin: google/guava

public void testListeningDecorator_scheduleFailure() throws Exception {
 ScheduledThreadPoolExecutor delegate = new ScheduledThreadPoolExecutor(1);
 ListeningScheduledExecutorService service = listeningDecorator(delegate);
 RuntimeException ex = new RuntimeException();
 ListenableFuture<?> future =
   service.schedule(new ThrowingRunnable(0, ex), 1, TimeUnit.MILLISECONDS);
 assertExecutionException(future, ex);
 assertEquals(0, delegate.getQueue().size());
}

代码示例来源:origin: alibaba/druid

&& createScheduler instanceof ScheduledThreadPoolExecutor) {
ScheduledThreadPoolExecutor executor = (ScheduledThreadPoolExecutor) createScheduler;
if (executor.getQueue().size() > 0) {
  createDirect = true;
  continue;

代码示例来源:origin: apache/geode

@Before
public void setUp() {
 scheduledThreadPoolExecutor = mock(ScheduledThreadPoolExecutor.class);
 when(scheduledThreadPoolExecutor.getQueue()).thenReturn(new ArrayBlockingQueue<>(1));
 monitor = new QueryMonitor(scheduledThreadPoolExecutor, mock(InternalCache.class),
   max_execution_time);
 captor = ArgumentCaptor.forClass(Runnable.class);
}

代码示例来源:origin: google/guava

public void testListeningDecorator_schedulePeriodic() throws Exception {
 ScheduledThreadPoolExecutor delegate = new ScheduledThreadPoolExecutor(1);
 ListeningScheduledExecutorService service = listeningDecorator(delegate);
 RuntimeException ex = new RuntimeException();
 ListenableFuture<?> future;
 ThrowingRunnable runnable = new ThrowingRunnable(5, ex);
 future = service.scheduleAtFixedRate(runnable, 1, 1, TimeUnit.MILLISECONDS);
 assertExecutionException(future, ex);
 assertEquals(5, runnable.count);
 assertEquals(0, delegate.getQueue().size());
 runnable = new ThrowingRunnable(5, ex);
 future = service.scheduleWithFixedDelay(runnable, 1, 1, TimeUnit.MILLISECONDS);
 assertExecutionException(future, ex);
 assertEquals(5, runnable.count);
 assertEquals(0, delegate.getQueue().size());
}

代码示例来源:origin: google/guava

public void testListeningDecorator_scheduleSuccess() throws Exception {
 final CountDownLatch completed = new CountDownLatch(1);
 ScheduledThreadPoolExecutor delegate =
   new ScheduledThreadPoolExecutor(1) {
    @Override
    protected void afterExecute(Runnable r, Throwable t) {
     completed.countDown();
    }
   };
 ListeningScheduledExecutorService service = listeningDecorator(delegate);
 ListenableFuture<Integer> future =
   service.schedule(Callables.returning(42), 1, TimeUnit.MILLISECONDS);
 /*
  * Wait not just until the Future's value is set (as in future.get()) but
  * also until ListeningScheduledExecutorService's wrapper task is done
  * executing listeners, as detected by yielding control to afterExecute.
  */
 completed.await();
 assertTrue(future.isDone());
 assertThat(future.get()).isEqualTo(42);
 assertListenerRunImmediately(future);
 assertEquals(0, delegate.getQueue().size());
}

代码示例来源:origin: mpusher/mpush

for (int i = 0; i < 1; i++) {
  while (service.getQueue().size() > 1000) Thread.sleep(1); // 防止内存溢出

代码示例来源:origin: google/guava

public void testListeningDecorator_cancelled() throws Exception {
 ScheduledThreadPoolExecutor delegate = new ScheduledThreadPoolExecutor(1);
 BlockingQueue<?> delegateQueue = delegate.getQueue();
 ListeningScheduledExecutorService service = listeningDecorator(delegate);
 ListenableFuture<?> future;
 ScheduledFuture<?> delegateFuture;
 Runnable runnable =
   new Runnable() {
    @Override
    public void run() {}
   };
 future = service.schedule(runnable, 5, TimeUnit.MINUTES);
 future.cancel(true);
 assertTrue(future.isCancelled());
 delegateFuture = (ScheduledFuture<?>) delegateQueue.element();
 assertTrue(delegateFuture.isCancelled());
 delegateQueue.clear();
 future = service.scheduleAtFixedRate(runnable, 5, 5, TimeUnit.MINUTES);
 future.cancel(true);
 assertTrue(future.isCancelled());
 delegateFuture = (ScheduledFuture<?>) delegateQueue.element();
 assertTrue(delegateFuture.isCancelled());
 delegateQueue.clear();
 future = service.scheduleWithFixedDelay(runnable, 5, 5, TimeUnit.MINUTES);
 future.cancel(true);
 assertTrue(future.isCancelled());
 delegateFuture = (ScheduledFuture<?>) delegateQueue.element();
 assertTrue(delegateFuture.isCancelled());
}

代码示例来源:origin: i2p/i2p.i2p

private String debug() {
    return
      " Pool: " + _name +
      " Active: " + _executor.getActiveCount() + '/' + _executor.getPoolSize() +
      " Completed: " + _executor.getCompletedTaskCount() +
      " Queued: " + _executor.getQueue().size();
  }
}

代码示例来源:origin: org.apache.commons/commons-pool2

/**
 * Remove the specified eviction task from the timer.
 *
 * @param task      Task to be cancelled
 * @param timeout   If the associated executor is no longer required, how
 *                  long should this thread wait for the executor to
 *                  terminate?
 * @param unit      The units for the specified timeout
 */
static synchronized void cancel(
    final BaseGenericObjectPool<?>.Evictor task, final long timeout, final TimeUnit unit) {
  task.cancel();
  if (executor.getQueue().size() == 0) {
    executor.shutdown();
    try {
      executor.awaitTermination(timeout, unit);
    } catch (final InterruptedException e) {
      // Swallow
      // Significant API changes would be required to propagate this
    }
    executor.setCorePoolSize(0);
    executor = null;
  }
}

代码示例来源:origin: i2p/i2p.i2p

/** warning - slow */
private String debug() {
  _executor.purge();  // Remove cancelled tasks from the queue so we get a good queue size stat
  return
    " Pool: " + _name +
    " Active: " + _executor.getActiveCount() + '/' + _executor.getPoolSize() +
    " Completed: " + _executor.getCompletedTaskCount() +
    " Queued: " + _executor.getQueue().size();
}

代码示例来源:origin: HubSpot/Singularity

private void reEnqueue() {
 LOG.debug("Re-enqueueing request for {}, waiting {}, ({} active, {} queue, {} max), total time {}", artifactDownloadRequest.getTargetDirectory(),
   JavaUtils.durationFromMillis(configuration.getMillisToWaitForReEnqueue()),
   downloadJoinerService.getActiveCount(),
   downloadJoinerService.getQueue().size(),
   configuration.getNumEnqueueThreads(),
   JavaUtils.duration(start));
 downloadJoinerService.schedule(this, configuration.getMillisToWaitForReEnqueue(), TimeUnit.MILLISECONDS);
}

代码示例来源:origin: com.alibaba/druid

&& createScheduler instanceof ScheduledThreadPoolExecutor) {
ScheduledThreadPoolExecutor executor = (ScheduledThreadPoolExecutor) createScheduler;
if (executor.getQueue().size() > 0) {
  createDirect = true;
  continue;

代码示例来源:origin: net.sf.ehcache/ehcache

this.diskQueue = diskWriter.getQueue();
this.eventService = cache.getCacheEventNotificationService();
this.queueCapacity = cache.getCacheConfiguration().getDiskSpoolBufferSizeMB() * MEGABYTE;

相关文章

微信公众号

最新文章

更多

ScheduledThreadPoolExecutor类方法