设置方法:1、使用TimerTask的run方法定义了定时执行的任务;2、通过Timer的schedule方法,可以设置定时器的开始时间、间隔时间等;3、任务会在程序启动后立即执行,然后每隔1000毫秒执行一次,持续执行直到定时器被取消即可。
本教程操作系统:windows10系统、Dell G3电脑。
在Java中,你可以使用Timer类和TimerTask类来实现定时任务。以下是一个简单的例子,演示了如何使用Timer和TimerTask设置定时器并执行任务:
import java.util.Timer;
import java.util.TimerTask;
public class TimerExample {
public static void main(String[] args) {
// 创建定时器对象
Timer timer = new Timer();
// 创建定时任务对象
TimerTask task = new TimerTask() {
@Override
public void run() {
// 在此处编写定时执行的任务
System.out.println("Task executed at: " + System.currentTimeMillis());
}
};
// 设置定时器,延迟0毫秒后开始执行任务,每隔1000毫秒执行一次
timer.schedule(task, 0, 1000);
// 等待一段时间后,取消定时任务
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
// 取消定时任务
timer.cancel();
System.out.println("Timer canceled");
}
}
登录后复制
在上述例子中,TimerTask的run方法定义了定时执行的任务。通过Timer的schedule方法,你可以设置定时器的开始时间、间隔时间等。在这个例子中,任务会在程序启动后立即执行,然后每隔1000毫秒执行一次,持续执行直到定时器被取消。
请注意,Timer类在Java中已经被废弃(deprecated),更推荐使用ScheduledExecutorService来执行定时任务,因为它提供了更强大和灵活的调度功能。以下是使用ScheduledExecutorService的示例:
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
public class ScheduledExecutorExample {
public static void main(String[] args) {
// 创建ScheduledExecutorService对象
ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
// 创建定时任务对象
Runnable task = () -> {
// 在此处编写定时执行的任务
System.out.println("Task executed at: " + System.currentTimeMillis());
};
// 设置定时器,延迟0毫秒后开始执行任务,每隔1000毫秒执行一次
scheduler.scheduleAtFixedRate(task, 0, 1000, TimeUnit.MILLISECONDS);
// 等待一段时间后,关闭定时器
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
// 关闭定时器
scheduler.shutdown();
System.out.println("Scheduler shutdown");
}
}
登录后复制
这个例子中使用的是ScheduledExecutorService的scheduleAtFixedRate方法,其参数包括任务对象、初始延迟时间、间隔时间和时间单位。在这个例子中,任务会在程序启动后立即执行,然后每隔1000毫秒执行一次,持续执行直到定时器被关闭。
以上就是java定时器怎么设置时间的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!