大家有木有遇到过这样一种情况,就是我们想要程序每隔一段时间执行一次,循环执行,如统计数量、获取时间等,但又不知道如何实现(文采实在不好,哈哈哈,见笑),此时Java中提供了两个类(Timer、TimerTask),很好地解决了这一问题。
下面制作一个每隔一秒输出当前时间的程序,如下
package chapter_eleven; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Timer; import java.util.TimerTask; //定义自己的TimerTask子类任务调度类 class MyTask extends TimerTask{ @Override public void run() { //覆写run方法 SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); //定义时间日期类显示模板 System.out.println("当前的系统时间为---->" + simpleDateFormat.format(new Date())); //输出当前日期时间 } } public class TimeDemo01 extends Timer { public static void main(String[] args) { Timer timer = new Timer(); //定义并实例化Timer类对象 MyTask myTask = new MyTask(); //定义任务类 timer.schedule(myTask,1000,1000); //设置任务的执行,1s后开始执行,每1s重复一次 } } 以下为执行结果的一段代码,程序不终止,则会一直执行
当前的系统时间为---->2020-07-01 15:41:44.692 当前的系统时间为---->2020-07-01 15:41:45.674 当前的系统时间为---->2020-07-01 15:41:46.675 当前的系统时间为---->2020-07-01 15:41:47.675 当前的系统时间为---->2020-07-01 15:41:48.675 当前的系统时间为---->2020-07-01 15:41:49.676 当前的系统时间为---->2020-07-01 15:41:50.677 当前的系统时间为---->2020-07-01 15:41:51.677 在web开发中,此内容会比较有用,因为要维护一个容器不关闭才可以一直定时操作下去。