Как мне запланировать выполнение задачи один раз?
Я хочу отложить выполнение чего-либо, в соответствии с настройкой таймера обратного отсчета, который будет «делать что-то» через определенное время.
Я хочу, чтобы остальная часть моей программы продолжала работать, пока я жду, поэтому я попытался сделать свою собственную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();
}
}
}
}
Хотя это работало, более или менее, казалось, что должен быть лучший способ сделать это.
После некоторых поисков я нашел несколько таких вопросов, но на самом деле они не касаются того, что я пытаюсь сделать:
Как мне запланировать выполнение задачи через определенные промежутки времени?Как я могу управлять своим TimerTask каждый день в 2 часа дняКак запускать определенную задачу каждый день в определенное время, используя ScheduledExecu, torService?Java выполняет задачу с несколькими попытками и тайм-аутомМне не нужно ничего сложного; Я просто хочу сделать одну вещь через определенное время, оставляя остальную часть программы работать.
Как мне планировать разовое задание, чтобы «сделать что-то»?