So führen Sie eine Task regelmäßig in Java aus

So führen Sie eine Aufgabe regelmäßig in Java aus

Einige Java-Anwendungen müssen eine Methode zwischen einem regulären Zeitintervall ausführen. Beispielsweise sollte die GUI-Anwendung einige Informationen aus der Datenbank aktualisieren.

1. Scheduler Task

Für diese Funktionalität

  1. Sie sollten eine Klasse erstellen, die TimerTask erweitert (verfügbar im Paketjava.util). TimerTask ist eine abstrakte Klasse.

  2. Schreiben Sie Ihren Code in die Methode public voidrun(), die Sie regelmäßig ausführen möchten.

  3. Fügen Sie den folgenden Code in Ihre Hauptklasse ein.

import java.util.TimerTask;
import java.util.Date;
/**
 *
 * @author Dhinakaran P.
 */
// Create a class extends with TimerTask
public class ScheduledTask extends TimerTask {

    Date now; // to display current time

    // Add your task here
    public void run() {
        now = new Date(); // initialize date
        System.out.println("Time is :" + now); // Display current time
    }
}

2. Führen Sie die Scheduler-Aufgabe aus

Eine Klasse, die über der Scheduler-Aufgabe ausgeführt werden soll.

  1. ZeitgeberobjektTimer time = new Timer(); instanziieren

  2. Geplante Task-Klasse ObjektScheduledTask st = new ScheduledTask(); instanziieren

  3. Weisen Sie die geplante Aufgabe mit der MethodeTimer.shedule()zu.

import java.util.Timer;

/**
 *
 * @author Dhinakaran P.
 */

//Main class
public class SchedulerMain {
    public static void main(String args[]) throws InterruptedException {

        Timer time = new Timer(); // Instantiate Timer Object
        ScheduledTask st = new ScheduledTask(); // Instantiate SheduledTask class
        time.schedule(st, 0, 1000); // Create Repetitively task for every 1 secs

        //for demo only.
        for (int i = 0; i <= 5; i++) {
            System.out.println("Execution in Main Thread...." + i);
            Thread.sleep(2000);
            if (i == 5) {
                System.out.println("Application Terminates");
                System.exit(0);
            }
        }
    }
}

Ausgabe:

Execution in Main Thread....0
Time is :Tue Jun 19 14:21:42 IST 2012
Time is :Tue Jun 19 14:21:43 IST 2012
Execution in Main Thread....1
Time is :Tue Jun 19 14:21:44 IST 2012
Time is :Tue Jun 19 14:21:45 IST 2012
Execution in Main Thread....2
Time is :Tue Jun 19 14:21:46 IST 2012
Time is :Tue Jun 19 14:21:47 IST 2012
Execution in Main Thread....3
Time is :Tue Jun 19 14:21:48 IST 2012
Time is :Tue Jun 19 14:21:49 IST 2012
Execution in Main Thread....4
Time is :Tue Jun 19 14:21:50 IST 2012
Time is :Tue Jun 19 14:21:51 IST 2012
Application Terminates
Time is :Tue Jun 19 14:21:52 IST 2012

Note
Wenn Ihr Code keine Terminierung enthält, wird er nicht gestoppt. Sie sollten also einen Programmabschluss verwenden.