如何计划任务运行一次?
2022-09-01 11:56:38
我想推迟做某事,沿着设置一个倒数计时器的路线,该计时器将在一定时间后“做一件事”。
我希望我的程序的其余部分在我等待时继续运行,所以我尝试制作包含一分钟延迟的自己的程序:Thread
public class Scratch {
private static boolean outOfTime = false;
public static void main(String[] args) {
Thread countdown = new Thread() {
@Override
public void run() {
try {
// wait a while
System.out.println("Starting one-minute countdown now...");
Thread.sleep(60 * 1000);
// do the thing
outOfTime = true;
System.out.println("Out of time!");
} catch (InterruptedException e) {
e.printStackTrace();
}
}
};
countdown.start();
while (!outOfTime) {
try {
Thread.sleep(1000);
System.out.println("do other stuff here");
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
虽然这或多或少有效,但似乎应该有更好的方法来做到这一点。
经过一番搜索,我发现了一堆这样的问题,但它们并没有真正解决我想要做的事情:
我不需要任何如此复杂的东西;我只想在一段时间后做一件事,同时让程序的其余部分仍然运行。
我应该如何安排一次性任务来“做一件事”?