在Java中,可以使用java.util.Timer
类或java.util.concurrent.ScheduledExecutorService
接口来实现定时触发。
下面是使用java.util.Timer
类实现定时触发的示例:java
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("定时任务触发");
}
};
// 在1秒后开始执行任务,之后每隔1秒执行一次
timer.schedule(task, 1000, 1000);
}
}
下面是使用java.util.concurrent.ScheduledExecutorService
接口实现定时触发的示例:java
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
public class ScheduledExecutorServiceExample {
public static void main(String[] args) {
ScheduledExecutorService executor = Executors.newScheduledThreadPool(1);
Runnable task = new Runnable() {
@Override
public void run() {
// 定时触发的任务逻辑
System.out.println("定时任务触发");
}
};
// 在1秒后开始执行任务,之后每隔1秒执行一次
executor.scheduleAtFixedRate(task, 1, 1, TimeUnit.SECONDS);
}
}
以上代码中,Timer
类和ScheduledExecutorService
接口都提供了schedule
或scheduleAtFixedRate
方法来实现定时触发任务。其中,schedule
方法可以指定任务的延迟时间和触发间隔,而scheduleAtFixedRate
方法则是在固定的时间间隔执行任务。