📅  最后修改于: 2023-12-03 15:01:34.758000             🧑  作者: Mango
在Java中,我们通常需要定时任务或者定时执行某些代码。针对这种情况,我们可以使用Java中的定时器和线程。
Java中提供了java.util.Timer
类,我们可以通过这个类来执行定时任务。
使用方式如下:
import java.util.Timer;
import java.util.TimerTask;
public class TimerExample {
public static void main(String[] args) {
Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
System.out.println("定时任务执行啦!");
}
}, 1000, 5000);
}
}
上述代码中,我们使用Timer
创建了一个定时器,然后使用timer.schedule()
方法来执行定时任务,其中第一个参数是一个继承了TimerTask
的匿名类,第二个参数表示延迟1秒后执行任务,第三个参数表示每隔5秒执行一次任务。
除了使用定时器外,我们还可以使用线程来执行定时任务。
使用方式如下:
public class ThreadExample {
public static void main(String[] args) throws InterruptedException {
while (true) {
System.out.println("定时任务执行啦!");
Thread.sleep(5000);
}
}
}
上述代码中,我们使用一个while
循环来不停执行任务,然后使用Thread.sleep()
方法来让线程等待5秒再执行下一次任务。
需要注意的是,在使用线程的情况下,我们需要自己控制线程的开启和关闭,以及任务的执行时间和间隔时间。
Java中,我们可以使用定时器和线程来执行定时任务。使用定时器时,我们不需要自己控制线程的开启和关闭,同时定时器也会自动调整任务的执行间隔时间,比较方便;而使用线程时,我们需要自己控制线程的开启和关闭,但是可以更加灵活地控制任务的执行时间和间隔时间。