xylz,imxylz

关注后端架构、中间件、分布式和并发编程

   :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  111 随笔 :: 10 文章 :: 2680 评论 :: 0 Trackbacks
[本文地址:http://www.blogjava.net/Files/xylz/Inside.Java.Concurrency_32.ThreadPool.part5_ScheduledExecutorService.pdf]

周期性任务调度前世

在JDK 5.0之前,java.util.Timer/TimerTask是唯一的内置任务调度方法,而且在很长一段时间里很热衷于使用这种方式进行周期性任务调度。

首先研究下Timer/TimerTask的特性(至于javax.swing.Timer就不再研究了)。

public void schedule(TimerTask task, long delay, long period) {
   
if (delay < 0)
       
throw new IllegalArgumentException("Negative delay.");
   
if (period <= 0)
       
throw new IllegalArgumentException("Non-positive period.");
    sched(task, System.currentTimeMillis()
+delay, -period);
}
public void scheduleAtFixedRate(TimerTask task, long delay, long period) {