Module org.snmp4j

Class TaskScheduler

  • All Implemented Interfaces:
    java.lang.Runnable

    public class TaskScheduler
    extends java.lang.Object
    implements java.lang.Runnable
    The TaskScheduler uses a ThreadPool to recurrent execute SchedulerTasks.
    Since:
    1.6
    Version:
    1.6
    • Field Detail

      • DEFAULT_SCHEDULER_TIMEOUT

        private static final long DEFAULT_SCHEDULER_TIMEOUT
        See Also:
        Constant Field Values
      • stop

        private boolean stop
      • schedulerTimeout

        protected long schedulerTimeout
    • Constructor Detail

      • TaskScheduler

        public TaskScheduler​(ThreadPool threadPool)
        Creates a TaskScheduler that uses the supplied ThreadPool to execute tasks.
        Parameters:
        threadPool - a ThreadPool.
    • Method Detail

      • addTask

        public void addTask​(SchedulerTask task)
        Adds a task to the scheduler.
        Parameters:
        task - a SchedulerTask.
      • removeTask

        public boolean removeTask​(SchedulerTask task)
        Removes a task from the scheduler.
        Parameters:
        task - the SchedulerTask to be removed from the scheduler
        Returns:
        true if the task could be removed.
      • clear

        public void clear()
        Removes all tasks.
      • run

        public void run()
        Runs the scheduler. While in this method tasks are scheduled on the internal thread pool. The scheduler tries to schedule task fairly.
        Specified by:
        run in interface java.lang.Runnable
      • setStop

        public void setStop​(boolean stop)
        Stops the schedulers run method.
        Parameters:
        stop - true to stop the scheduler.
      • isStop

        public boolean isStop()
        Checks if the scheduler is (to be) stopped.
        Returns:
        true if the scheduler has been stopped or is being stopped.