Class ScheduledExecutorScheduler

  • All Implemented Interfaces:
    Scheduler

    public class ScheduledExecutorScheduler
    extends java.lang.Object
    implements Scheduler
    Implementation of Scheduler based on JDK's ScheduledThreadPoolExecutor.

    While use of ScheduledThreadPoolExecutor creates futures that will not be used, it has the advantage of allowing to set a property to remove cancelled tasks from its queue even if the task did not fire, which provides a huge benefit in the performance of garbage collection in young generation.

    • Constructor Detail

      • ScheduledExecutorScheduler

        public ScheduledExecutorScheduler()
      • ScheduledExecutorScheduler

        public ScheduledExecutorScheduler​(java.lang.String name,
                                          boolean daemon)
      • ScheduledExecutorScheduler

        public ScheduledExecutorScheduler​(java.lang.String name,
                                          boolean daemon,
                                          java.lang.ClassLoader classLoader)
      • ScheduledExecutorScheduler

        public ScheduledExecutorScheduler​(java.lang.String name,
                                          boolean daemon,
                                          java.lang.ClassLoader classLoader,
                                          java.lang.ThreadGroup threadGroup)
    • Method Detail

      • schedule

        public Scheduler.Task schedule​(java.lang.Runnable task,
                                       long delay,
                                       java.util.concurrent.TimeUnit unit)
        Specified by:
        schedule in interface Scheduler
      • start

        public void start()
        Specified by:
        start in interface Scheduler
      • stop

        public void stop()
        Specified by:
        stop in interface Scheduler