Java如何调用一个方法,让它2小时后运行,同时本体程序继续运行
时间: 2023-11-28 07:48:16 浏览: 62
Java中可以使用Timer和TimerTask来实现在指定时间后运行某个方法的功能,同时让本体程序继续运行。
首先,需要创建一个Timer对象和一个TimerTask对象,并将TimerTask对象传递给Timer对象。然后,使用Timer对象的schedule()方法来指定在哪个时间后运行TimerTask对象的run()方法。
下面是一个示例代码:
```
import java.util.Timer;
import java.util.TimerTask;
public class Example {
public static void main(String[] args) {
Timer timer = new Timer();
TimerTask task = new MyTask();
// 2小时后运行
long delay = 2 * 60 * 60 * 1000;
timer.schedule(task, delay);
// 本体程序继续运行
// ...
}
static class MyTask extends TimerTask {
@Override
public void run() {
// 需要在2小时后运行的方法
// ...
}
}
}
```
在上面的代码中,MyTask类继承了TimerTask类,并重写了run()方法,这个方法就是需要在2小时后运行的方法。Timer对象的schedule()方法会在指定的延迟时间后调用MyTask对象的run()方法。
需要注意的是,Timer对象是单线程的,如果在MyTask中运行的方法需要较长时间才能完成,可能会影响Timer的执行效率。因此,建议将MyTask中需要执行的操作放在另外一个线程中执行。
阅读全文