Class BoundedScheduledExecutorService

  • All Implemented Interfaces:
    com.google.common.util.concurrent.ListeningExecutorService, com.google.common.util.concurrent.ListeningScheduledExecutorService, java.util.concurrent.Executor, java.util.concurrent.ExecutorService, java.util.concurrent.ScheduledExecutorService

    public class BoundedScheduledExecutorService
    extends com.google.common.util.concurrent.ForwardingListeningExecutorService
    implements com.google.common.util.concurrent.ListeningScheduledExecutorService
    Implements ListeningScheduledExecutorService and allows limiting the number of tasks to be scheduled in the thread's queue.
    • Constructor Summary

      Constructors 
      Constructor Description
      BoundedScheduledExecutorService​(java.util.concurrent.ScheduledThreadPoolExecutor thread, int maxTasksInQueue)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected com.google.common.util.concurrent.ListeningExecutorService delegate()  
      void execute​(java.lang.Runnable command)  
      <T> java.util.List<java.util.concurrent.Future<T>> invokeAll​(java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks)  
      <T> java.util.List<java.util.concurrent.Future<T>> invokeAll​(java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks, long timeout, java.util.concurrent.TimeUnit unit)  
      <T> T invokeAny​(java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks)  
      <T> T invokeAny​(java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks, long timeout, java.util.concurrent.TimeUnit unit)  
      com.google.common.util.concurrent.ListenableScheduledFuture<?> schedule​(java.lang.Runnable command, long delay, java.util.concurrent.TimeUnit unit)  
      <V> com.google.common.util.concurrent.ListenableScheduledFuture<V> schedule​(java.util.concurrent.Callable<V> callable, long delay, java.util.concurrent.TimeUnit unit)  
      com.google.common.util.concurrent.ListenableScheduledFuture<?> scheduleAtFixedRate​(java.lang.Runnable command, long initialDelay, long period, java.util.concurrent.TimeUnit unit)  
      com.google.common.util.concurrent.ListenableScheduledFuture<?> scheduleWithFixedDelay​(java.lang.Runnable command, long initialDelay, long delay, java.util.concurrent.TimeUnit unit)  
      com.google.common.util.concurrent.ListenableFuture<?> submit​(java.lang.Runnable task)  
      <T> com.google.common.util.concurrent.ListenableFuture<T> submit​(java.lang.Runnable task, T result)  
      <T> com.google.common.util.concurrent.ListenableFuture<T> submit​(java.util.concurrent.Callable<T> task)  
      • Methods inherited from class com.google.common.util.concurrent.ForwardingExecutorService

        awaitTermination, isShutdown, isTerminated, shutdown, shutdownNow
      • Methods inherited from class com.google.common.collect.ForwardingObject

        toString
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface java.util.concurrent.ExecutorService

        awaitTermination, isShutdown, isTerminated, shutdown, shutdownNow
      • Methods inherited from interface com.google.common.util.concurrent.ListeningScheduledExecutorService

        schedule, schedule, scheduleAtFixedRate, scheduleWithFixedDelay
    • Constructor Detail

      • BoundedScheduledExecutorService

        public BoundedScheduledExecutorService​(java.util.concurrent.ScheduledThreadPoolExecutor thread,
                                               int maxTasksInQueue)
    • Method Detail

      • delegate

        protected com.google.common.util.concurrent.ListeningExecutorService delegate()
        Specified by:
        delegate in class com.google.common.util.concurrent.ForwardingListeningExecutorService
      • schedule

        public com.google.common.util.concurrent.ListenableScheduledFuture<?> schedule​(java.lang.Runnable command,
                                                                                       long delay,
                                                                                       java.util.concurrent.TimeUnit unit)
        Specified by:
        schedule in interface com.google.common.util.concurrent.ListeningScheduledExecutorService
        Specified by:
        schedule in interface java.util.concurrent.ScheduledExecutorService
      • schedule

        public <V> com.google.common.util.concurrent.ListenableScheduledFuture<V> schedule​(java.util.concurrent.Callable<V> callable,
                                                                                           long delay,
                                                                                           java.util.concurrent.TimeUnit unit)
        Specified by:
        schedule in interface com.google.common.util.concurrent.ListeningScheduledExecutorService
        Specified by:
        schedule in interface java.util.concurrent.ScheduledExecutorService
      • scheduleAtFixedRate

        public com.google.common.util.concurrent.ListenableScheduledFuture<?> scheduleAtFixedRate​(java.lang.Runnable command,
                                                                                                  long initialDelay,
                                                                                                  long period,
                                                                                                  java.util.concurrent.TimeUnit unit)
        Specified by:
        scheduleAtFixedRate in interface com.google.common.util.concurrent.ListeningScheduledExecutorService
        Specified by:
        scheduleAtFixedRate in interface java.util.concurrent.ScheduledExecutorService
      • scheduleWithFixedDelay

        public com.google.common.util.concurrent.ListenableScheduledFuture<?> scheduleWithFixedDelay​(java.lang.Runnable command,
                                                                                                     long initialDelay,
                                                                                                     long delay,
                                                                                                     java.util.concurrent.TimeUnit unit)
        Specified by:
        scheduleWithFixedDelay in interface com.google.common.util.concurrent.ListeningScheduledExecutorService
        Specified by:
        scheduleWithFixedDelay in interface java.util.concurrent.ScheduledExecutorService
      • submit

        public <T> com.google.common.util.concurrent.ListenableFuture<T> submit​(java.util.concurrent.Callable<T> task)
        Specified by:
        submit in interface java.util.concurrent.ExecutorService
        Specified by:
        submit in interface com.google.common.util.concurrent.ListeningExecutorService
        Overrides:
        submit in class com.google.common.util.concurrent.ForwardingListeningExecutorService
      • submit

        public com.google.common.util.concurrent.ListenableFuture<?> submit​(java.lang.Runnable task)
        Specified by:
        submit in interface java.util.concurrent.ExecutorService
        Specified by:
        submit in interface com.google.common.util.concurrent.ListeningExecutorService
        Overrides:
        submit in class com.google.common.util.concurrent.ForwardingListeningExecutorService
      • invokeAll

        public <T> java.util.List<java.util.concurrent.Future<T>> invokeAll​(java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks)
                                                                     throws java.lang.InterruptedException
        Specified by:
        invokeAll in interface java.util.concurrent.ExecutorService
        Specified by:
        invokeAll in interface com.google.common.util.concurrent.ListeningExecutorService
        Overrides:
        invokeAll in class com.google.common.util.concurrent.ForwardingExecutorService
        Throws:
        java.lang.InterruptedException
      • invokeAll

        public <T> java.util.List<java.util.concurrent.Future<T>> invokeAll​(java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks,
                                                                            long timeout,
                                                                            java.util.concurrent.TimeUnit unit)
                                                                     throws java.lang.InterruptedException
        Specified by:
        invokeAll in interface java.util.concurrent.ExecutorService
        Specified by:
        invokeAll in interface com.google.common.util.concurrent.ListeningExecutorService
        Overrides:
        invokeAll in class com.google.common.util.concurrent.ForwardingExecutorService
        Throws:
        java.lang.InterruptedException
      • invokeAny

        public <T> T invokeAny​(java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks)
                        throws java.lang.InterruptedException,
                               java.util.concurrent.ExecutionException
        Specified by:
        invokeAny in interface java.util.concurrent.ExecutorService
        Overrides:
        invokeAny in class com.google.common.util.concurrent.ForwardingExecutorService
        Throws:
        java.lang.InterruptedException
        java.util.concurrent.ExecutionException
      • invokeAny

        public <T> T invokeAny​(java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks,
                               long timeout,
                               java.util.concurrent.TimeUnit unit)
                        throws java.lang.InterruptedException,
                               java.util.concurrent.ExecutionException,
                               java.util.concurrent.TimeoutException
        Specified by:
        invokeAny in interface java.util.concurrent.ExecutorService
        Overrides:
        invokeAny in class com.google.common.util.concurrent.ForwardingExecutorService
        Throws:
        java.lang.InterruptedException
        java.util.concurrent.ExecutionException
        java.util.concurrent.TimeoutException
      • submit

        public <T> com.google.common.util.concurrent.ListenableFuture<T> submit​(java.lang.Runnable task,
                                                                                T result)
        Specified by:
        submit in interface java.util.concurrent.ExecutorService
        Specified by:
        submit in interface com.google.common.util.concurrent.ListeningExecutorService
        Overrides:
        submit in class com.google.common.util.concurrent.ForwardingListeningExecutorService
      • execute

        public void execute​(java.lang.Runnable command)
        Specified by:
        execute in interface java.util.concurrent.Executor
        Overrides:
        execute in class com.google.common.util.concurrent.ForwardingExecutorService