ScheduledThreadPoolExecutor


ScheduledThreadPoolExecutor java.util.concurrent

Java 5.0

This class extends ThreadPoolExecutor to implement the methods of the ScheduledExecutorService interface to allow tasks to be submitted for execution once or repeatedly at some scheduled time in the future. Instances of this class are usually obtained through the static factory methods of the Executors utility class. You can also explicitly create one with the ScheduledThreadPoolExecutors( ) constructor. ScheduledThreadPoolExecutor always creates its own unbounded work queue, which means that you cannot pass a queue to the constructor. Also, there is no need to specify a maximumPoolSize since this configuration parameter is irrelevant with unbounded queues.

Note that tasks submitted to a ScheduledThreadPoolExecutor are not guaranteed to run at the scheduled time. That is the time at which they first become eligible to run. If all threads are busy with other tasks, however, eligible tasks may get queued up to run later.

This class provides functionality similar to java.util.Timer but adds multithreaded capability and the ability to work with Callable and Future objects.

Figure 16-91. java.util.concurrent.ScheduledThreadPoolExecutor

 public class  ScheduledThreadPoolExecutor  extends ThreadPoolExecutor          implements ScheduledExecutorService {  // Public Constructors  public  ScheduledThreadPoolExecutor  (int  corePoolSize  );        public  ScheduledThreadPoolExecutor  (int  corePoolSize  , ThreadFactory  threadFactory  );        public  ScheduledThreadPoolExecutor  (int  corePoolSize  , RejectedExecutionHandler  handler  );        public  ScheduledThreadPoolExecutor  (int  corePoolSize  , ThreadFactory  threadFactory  ,  RejectedExecutionHandler  handler  );  // Public Instance Methods  public boolean  getContinueExistingPeriodicTasksAfterShutdownPolicy  ( );        public boolean  getExecuteExistingDelayedTasksAfterShutdownPolicy  ( );        public void  setContinueExistingPeriodicTasksAfterShutdownPolicy  (boolean  value  );        public void  setExecuteExistingDelayedTasksAfterShutdownPolicy  (boolean  value  );  // Methods Implementing Executor  public void  execute  (Runnable  command  );  // Methods Implementing ExecutorService  public void  shutdown  ( );        public java.util.List<Runnable>  shutdownNow  ( );        public Future<?>  submit  (Runnable  task  );        public <T> Future<T>  submit  (Callable<T>  task  );        public <T> Future<T>  submit  (Runnable  task  , T  result  );  // Methods Implementing ScheduledExecutorService  public <V> ScheduledFuture<V>  schedule  (Callable<V>  callable  , long  delay  , TimeUnit  unit  );        public ScheduledFuture<?>  schedule  (Runnable  command  , long  delay  , TimeUnit  unit  );        public ScheduledFuture<?>  scheduleAtFixedRate  (Runnable  command  , long  initialDelay  ,          long  period  , TimeUnit  unit  );        public ScheduledFuture<?>  scheduleWithFixedDelay  (Runnable  command  , long  initialDelay  ,          long  delay  , TimeUnit  unit  );  // Public Methods Overriding ThreadPoolExecutor  public BlockingQueue<Runnable>  getQueue  ( );        public boolean  remove  (Runnable  task  );   } 



Java In A Nutshell
Java In A Nutshell, 5th Edition
ISBN: 0596007736
EAN: 2147483647
Year: 2004
Pages: 1220

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net