Wie plane ich die einmalige Ausführung einer Aufgabe?

Ich möchte etwas verzögern, in Anlehnung an das Einstellen eines Countdown-Timers, der nach einer bestimmten Zeit "etwas tut".

Ich möchte, dass der Rest meines Programms weiterläuft, während ich warte, also habe ich versucht, mein eigenes @ zu erstelleThread das enthielt eine Minute Verspätung:

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();
            }
        }
    }
}


Während dies mehr oder weniger funktionierte, schien es einen besseren Weg zu geben, dies zu tun.

Nach einigem Suchen habe ich eine Reihe von Fragen wie diese gefunden, die sich jedoch nicht wirklich mit dem befassen, was ich versuche:

Wie plane ich die Ausführung einer Aufgabe in regelmäßigen Abständen?Wie kann ich meine TimerTask jeden Tag um 14 Uhr ausführen?Wie kann ich mit ScheduledExecu, torService jeden Tag eine bestimmte Aufgabe zu einer bestimmten Zeit ausführen?Java Task mit mehreren Wiederholungsversuchen und einer Zeitüberschreitung ausführen

Ich brauche nichts so kompliziertes; Ich möchte nach einer bestimmten Zeit nur eine einzige Aktion ausführen, während der Rest des Programms noch ausgeführt wird.

Wie soll ich eine einmalige Aufgabe planen, um "etwas zu tun"?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage