关键字:定时器
定时器的主要操作是进行定时任务的处理。比如每天早上起来的闹铃一样。在Java中提供有定时任务的支持,但是这种任务的处理只是实现了一种间隔触发的操作。
如果要实现定时的处理操作主要需要有一个定时操作的主体类,以及一个定时任务的控制。可以使用两个类实现:
java.util.TimerTask类:实现定时任务处理;
java.util.Timer类:进行任务的启动,启动的方法:
|- 任务启动:public void schedule(TimerTask task, long delay)、延迟单位为毫秒;
|- 间隔触发:public void schedule(TimerTask task, long delay, long period);
示例代码:
另外阿里云服务器内部优惠券奉上:https://promotion.aliyun.com/ntms/yunparter/invite.html?userCode=2f0qw1rz。
阿里云服务器选购经验可参考博客:https://blog.csdn.net/wang0120000/article/details/85002207
import java.util.Timer;
import java.util.TimerTask;
class MyTask extends TimerTask { //任务主体
@Override
public void run() { //多线程的处理方法
//显示开发中可以把业务方法放在此处来处理。
System.out.println(Thread.currentThread().getName() + "timer、执行定时任务,当前时间:" + System.currentTimeMillis());
}
}
public class JavaAPIDemo {
public static void main(String[] args) throws Exception {
Timer timer=new Timer(); //定时任务开启
// timer.schedule(new MyTask(),0); //延迟时间设置为0表示立即启动
// timer.schedule(new MyTask(),1000); //设置1秒后启动
//间隔触发
timer.scheduleAtFixedRate(new MyTask(),1000,1000*60);//定义间隔任务,1秒后开始执行,每分钟执行一次
}
}
打印日志为:
当然这种定时是由JDK最原始的方式提供的支持,但是实际上开发之中利用采用此类方式进行的定时处理实现的代码会非常的复杂,具体业务方法的投放处代码中已经说明。