就以闹钟的例子开头吧(后续小节皆以闹钟为例,所有源代码只列关键部分)。
public class ScheduleDemo {
public static void main(String[] args) throws InterruptedException {
long delay = 1000; // 一秒后开始执行
long period = 2000; // 执行间隔
Timer timer = new Timer();
AlarmTask alarm = new AlarmTask("闹钟1");
log.info("["+Thread.currentThread().getName()+"]开启闹钟调度!");
timer.schedule(alarm,delay,period);
}
/**
* 模拟闹钟
*/
static class AlarmTask extends TimerTask{
String name ;
public AlarmTask(String name){
this.name=name;
}
@Override
public void run() {
log.info("["+Thread.currentThread().getName()+"]"+name+":嘀。。。");
Thread.sleep(1000); //模拟闹钟执行时间,省略异常。。。
}
}