这是我的代码,
static ScheduledExecutorService scheduler = null;
scheduler.scheduleAtFixedRate(new Testing(),60, 24*60*60,TimeUnit.SECONDS);
public static Runnable Testing()
{ System.out.println("Testing...");
}
我希望在60秒后调用Runnable()方法,但是当我运行代码时它立即调用此方法。 我的代码有问题吗? 我是scheduleAtFixedRate方法的新手。 谢谢:))
答案 0 :(得分:1)
请试试这个
scheduler.scheduleAtFixedRate(new Runnable() {
@Override
public void run() {
System.out.println("Testing...");
}
}, 60, 24*60*60,TimeUnit.SECONDS);
答案 1 :(得分:0)
创建一个扩展Runnable的类。
static class MyRunnable implements Runnable {
public void run() {
System.out.println(i + " : Testing ... Current timestamp: " + new Date());
// Put any relevant code here.
}
}
然后您的代码按预期工作。请尝试在codiva.io online compiler ide处运行完整的工作代码。
相关建议,在专业代码中,人们通常会避免使用线程调度程序来运行每天运行的任务。最常见的选择是使用cron作业和更多设置。但这超出了这个问题的范围。
答案 2 :(得分:0)
Runnable是一个接口,您必须实现run()方法。您可以尝试将代码更改为
scheduler.scheduleAtFixedRate(new Runnable() {
@Override
public void run() {
System.out.println("Testing...");
}
},60, 24*60*60,TimeUnit.SECONDS);