Class ImmediateThinScheduler.ImmediateThinWorker

    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void dispose()
      Dispose the resource, the operation should be idempotent.
      boolean isDisposed()
      Returns true if this resource has been disposed.
      @NonNull Disposable schedule​(@NonNull java.lang.Runnable run)
      Schedules a Runnable for execution without any time delay.
      @NonNull Disposable schedule​(@NonNull java.lang.Runnable run, long delay, @NonNull java.util.concurrent.TimeUnit unit)
      Schedules an Runnable for execution at some point in the future specified by a time delay relative to the current time.
      @NonNull Disposable schedulePeriodically​(@NonNull java.lang.Runnable run, long initialDelay, long period, java.util.concurrent.TimeUnit unit)
      Schedules a periodic execution of the given task with the given initial time delay and repeat period.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ImmediateThinWorker

        ImmediateThinWorker()
    • Method Detail

      • dispose

        public void dispose()
        Description copied from interface: Disposable
        Dispose the resource, the operation should be idempotent.
      • isDisposed

        public boolean isDisposed()
        Description copied from interface: Disposable
        Returns true if this resource has been disposed.
        Returns:
        true if this resource has been disposed
      • schedule

        @NonNull
        public @NonNull Disposable schedule​(@NonNull
                                            @NonNull java.lang.Runnable run,
                                            long delay,
                                            @NonNull
                                            @NonNull java.util.concurrent.TimeUnit unit)
        Description copied from class: Scheduler.Worker
        Schedules an Runnable for execution at some point in the future specified by a time delay relative to the current time.

        Note to implementors: non-positive delayTime should be regarded as non-delayed schedule, i.e., as if the Scheduler.Worker.schedule(Runnable) was called.

        Specified by:
        schedule in class Scheduler.Worker
        Parameters:
        run - the Runnable to schedule
        delay - time to "wait" before executing the action; non-positive values indicate an non-delayed schedule
        unit - the time unit of delayTime
        Returns:
        a Disposable to be able to unsubscribe the action (cancel it if not executed)
      • schedulePeriodically

        @NonNull
        public @NonNull Disposable schedulePeriodically​(@NonNull
                                                        @NonNull java.lang.Runnable run,
                                                        long initialDelay,
                                                        long period,
                                                        java.util.concurrent.TimeUnit unit)
        Description copied from class: Scheduler.Worker
        Schedules a periodic execution of the given task with the given initial time delay and repeat period.

        The default implementation schedules and reschedules the Runnable task via the Scheduler.Worker.schedule(Runnable, long, TimeUnit) method over and over and at a fixed rate, that is, the first execution will be after the initialDelay, the second after initialDelay + period, the third after initialDelay + 2 * period, and so on.

        Note to implementors: non-positive initialTime and period should be regarded as non-delayed scheduling of the first and any subsequent executions. In addition, a more specific Worker implementation should override this method if it can perform the periodic task execution with less overhead (such as by avoiding the creation of the wrapper and tracker objects upon each periodic invocation of the common Scheduler.Worker.schedule(Runnable, long, TimeUnit) method).

        Overrides:
        schedulePeriodically in class Scheduler.Worker
        Parameters:
        run - the Runnable to execute periodically
        initialDelay - time to wait before executing the action for the first time; non-positive values indicate an non-delayed schedule
        period - the time interval to wait each time in between executing the action; non-positive values indicate no delay between repeated schedules
        unit - the time unit of period
        Returns:
        a Disposable to be able to unsubscribe the action (cancel it if not executed)