Java Loop every minute
Use Thread.sleep(long millis)
.
Causes the currently executing thread to sleep (temporarily cease execution) for the specified number of milliseconds, subject to the precision and accuracy of system timers and schedulers. The thread does not lose ownership of any monitors.
One minute would be (60*1000) = 60000
milliseconds.
For example, this loop will print the current time once every 5 seconds:
try {
while (true) {
System.out.println(new Date());
Thread.sleep(5 * 1000);
}
} catch (InterruptedException e) {
e.printStackTrace();
}
If your sleep period becomes too large for int
, explicitly compute in long
(e.g. 1000L
).
You can use Timer
Timer timer = new Timer();
timer.schedule( new TimerTask() {
public void run() {
// do your work
}
}, 0, 60*1000);
When the times comes
timer.cancel();
To shut it down.