Class ScheduleOnce2


  • public class ScheduleOnce2
    extends Object
    Class to schedule a task after a certain delay and ensure that it only executes once. If there is a request to schedule the task while it is already running it will be scheduled for the delay.
    Author:
    raven
    • Field Detail

      • executor

        protected java.util.function.Consumer<Callable<?>> executor
      • lastRequestTime

        protected volatile long lastRequestTime
      • lastTaskStartTime

        protected volatile Long lastTaskStartTime
      • lock

        protected final Object lock
    • Constructor Detail

      • ScheduleOnce2

        public ScheduleOnce2​(java.util.function.Consumer<Callable<?>> executor,
                             Callable<?> task)
    • Method Detail

      • scheduleTask

        public void scheduleTask()