在Java中,可以使用java.util.Timer
或java.util.concurrent.ScheduledExecutorService
类来实现定时任务。
以下是使用java.util.Timer
实现定时任务的示例代码:
public class MyTimerTask extends TimerTask {
@Override
public void run() {
// 定时任务代码
System.out.println("定时任务执行了1111111111"+new Date());
}
public static void main(String[] args) {
Timer timer = new Timer();
// 每隔5秒执行一次定时任务
timer.schedule(new MyTimerTask(), 0, 1000);
}
}
![](/i/l/?n=23&i=blog/2531222/202308/2531222-20230809221311194-958427438.gif)
![点击并拖拽以移动](/i/l/?n=23&i=blog/2531222/202308/2531222-20230809221311194-958427438.gif)
以上代码创建了一个继承自TimerTask
的MyTimerTask
类,重写了run()
方法,在其中编写了定时任务的代码。在main()
方法中,创建了一个Timer
对象,并使用schedule()
方法来安排定时任务的执行。该方法接受两个参数:要执行的定时任务对象和延迟时间(以毫秒为单位)。在这个例子中,定时任务将在延迟5秒后执行。
以下是使用java.util.concurrent.ScheduledExecutorService
实现定时任务的示例代码:
public class MyScheduledTask implements Runnable {
@Override
public void run() {
// 定时任务代码
System.out.println("定时任务执行了" +new Date());
}
public static void main(String[] args) {
ScheduledExecutorService executor = Executors.newSingleThreadScheduledExecutor();
// 每隔5秒执行一次定时任务
executor.scheduleAtFixedRate(new MyScheduledTask(), 0, 1, TimeUnit.SECONDS);
}
}
![](/i/l/?n=23&i=blog/2531222/202308/2531222-20230809221311194-958427438.gif)
![点击并拖拽以移动](/i/l/?n=23&i=blog/2531222/202308/2531222-20230809221311194-958427438.gif)
以上代码创建了一个实现了Runnable
接口的MyScheduledTask
类,重写了run()
方法,在其中编写了定时任务的代码。在main()
方法中,创建了一个ScheduledExecutorService
对象,并使用scheduleAtFixedRate()
方法来安排定时任务的执行。该方法接受三个参数:要执行的定时任务对象、延迟时间和时间单位。在这个例子中,定时任务将在延迟5秒后执行。