每分钟一次 Java 循环
我想用Java编写一个循环,该循环将启动并如下所示:
while (!x){
//wait one minute or two
//execute code
}
我想这样做,以便它不会耗尽系统资源。代码中实际发生的事情是,它转到一个网站并检查某些事情是否完成,如果未完成,则应再等待一分钟,直到再次检查,当它完成时,它就会继续前进。他们无论如何都要用java做到这一点吗?
我想用Java编写一个循环,该循环将启动并如下所示:
while (!x){
//wait one minute or two
//execute code
}
我想这样做,以便它不会耗尽系统资源。代码中实际发生的事情是,它转到一个网站并检查某些事情是否完成,如果未完成,则应再等待一分钟,直到再次检查,当它完成时,它就会继续前进。他们无论如何都要用java做到这一点吗?
您可以使用计时器
Timer timer = new Timer();
timer.schedule( new TimerTask() {
public void run() {
// do your work
}
}, 0, 60*1000);
当时代来临时
timer.cancel();
将其关闭。
使当前正在执行的线程在指定的毫秒数内休眠(暂时停止执行),具体取决于系统计时器和调度程序的精度和准确性。线程不会失去任何监视器的所有权。
一分钟就是毫秒。(60*1000) = 60000
例如,此循环将每 5 秒打印一次当前时间:
try {
while (true) {
System.out.println(new Date());
Thread.sleep(5 * 1000);
}
} catch (InterruptedException e) {
e.printStackTrace();
}
如果您的睡眠时间对于 来说太大,请显式计算(例如 )。int
long
1000L