suchen
HeimJavajavaLernprogrammVerwendung von Java-Timern (Einführung in Timer)

In der Entwicklung müssen wir häufig einige periodische Vorgänge ausführen, z. B. alle paar Minuten einen Vorgang ausführen. Zu diesem Zeitpunkt müssen wir einen Timer einrichten. Die bequemste und effizienteste Möglichkeit, ihn in Java zu implementieren, besteht darin, die Toolklasse java.util.Timer zu verwenden und dann die Aufgabe java.util.TimerTask zu planen.

1. Einführung

Timer ist ein Tool, mit dem Threads Aufgaben planen, die in Zukunft im Hintergrundthread ausgeführt werden sollen. Aufgaben können so geplant werden, dass sie einmal ausgeführt werden oder sich regelmäßig wiederholen. Es handelt sich tatsächlich um einen Thread, TimerTasks, der der geplanten Planung gehört.

TimerTask ist eine abstrakte Klasse und ihre Unterklassen werden von Timer so angeordnet, dass sie Aufgaben einmal oder wiederholt ausführen. Tatsächlich handelt es sich um eine Klasse mit einer Ausführungsmethode, und der Code, der regelmäßig ausgeführt werden muss, wird im Hauptteil der Ausführungsmethode platziert.

2. Aufrufmethode

Timer timer = Timer(true);

// Beachten Sie, dass es auch eine Timer-Klasse im javax.swing-Paket gibt Bei Verwendung in Importpaketen ist auf Namenskonflikte zu achten.

TimerTask task = new TimerTask() {

public void run() {

... //Platzieren Sie den Code, der sein muss wird jedes Mal ausgeführt, wenn man hineingeht.

}

};

//Im Folgenden sind einige häufig verwendete Methoden zum Planen von Aufgaben aufgeführt:

timer.schedule(task, time);

// time ist vom Typ Datum: wird einmal zur angegebenen Zeit ausgeführt.

timer.schedule(task, firstTime, period);

// firstTime ist der Datumstyp, der Zeitraum ist lang

// From firstTime moment Alle Millisekunden starten und ausführen.

timer.schedule(task, delay)

// Verzögerung ist vom Typ „Long“: wird einmal nach der Verzögerung in Millisekunden von jetzt an ausgeführt

timer.schedule(task, delay, period)

// Verzögerung ist lang, Zeitraum ist lang: Nachdem die Verzögerung Millisekunden ab jetzt verstrichen ist, wird es in jedem Zeitraum ausgeführt

/ / Millisekunden einmal.

Was ist der Unterschied zwischen Schedule() und ScheduleAtFixedRate()?

Zunächst einmal sind „Schedule(TimerTask-Aufgabe, Datum und Uhrzeit)“ und „Schedule(TimerTask-Aufgabe, lange Verzögerung)“ nur Einzelausführungsvorgänge, und es gibt keine Situation, in der die Aufgabe mehrmals aufgerufen wird, also gibt es keine Möglichkeit um die Methode „scheduleAtFixedRate“ aufzurufen. Sie implementieren alle die gleichen Funktionen. Was ist also der Unterschied?

(1) Die Methode Schedule() legt mehr Wert auf die Aufrechterhaltung der Stabilität des Intervalls: Sie stellt sicher, dass es einmal in jeder Periode aufgerufen werden kann.

(2) Die Methode „scheduleAtFixedRate()“ legt mehr Wert auf die Aufrechterhaltung der Stabilität der Ausführungsfrequenz: Sie stellt sicher, dass sich die Häufigkeit mehrerer Aufrufe der Periodenzeit annähert Beim nächsten Mal wird es so weit wie möglich kleiner als die Periode sein, damit die garantierte Häufigkeit nahe an der Periode liegt.

3. Beispieldemonstration

Benutzerdefinierte Aufgabe:

java.util.Timer importieren;

java.util.TimerTask importieren; >

public class TimerTaskTest erweitert TimerTask{

@Override

public void run() {

// TODO Auto- generierter Methoden-Stub

System.out.println("Aufgabe ausführen..."); util .Timer:

import java.util.Timer;

/**

* Planen Sie die angegebene Aufgabe so, dass sie wiederholte Ausführungen mit fester Rate ab dem angegebenen Zeitpunkt firstTime ausführt

* Einmal täglich um 12 Uhr mittags ausführen

*/

public class Test {

public static void main(String[] args){

Timer timer = new Timer();

Calendar Calendar = Calendar.getInstance();

Calendar . set(Calendar.HOUR_OF_DAY, 12);//Kontrollstunden

Calendar.set(Calendar.MINUTE, 0);//Kontrollminuten

Calendar.set(Calendar.SECOND, 0 ) ;//Sekunden kontrollieren

Date time = Calendar.getTime();//Die Ausführungszeit der Aufgabe ist 12:00:00

 

Timer timer = new Timer() ;

//Führen Sie den Vorgang jeden Tag um 12:00 Uhr aus und führen Sie ihn dann nach einer Verzögerung von einem Tag aus

timer.schedule(new TimerTaskTest(), time, 1000 * 60 * 60 * 24);

}

🎜>

Fazit: In diesem Artikel wird die mit Java gelieferte Timer-Tool-Klasse nur kurz vorgestellt Mängel, bitte darauf hinweisen. Interessierte können sich ein weiteres Timer-Open-Source-Projekt ansehen: QUARTZ. Teilen ist eine Art Glück, Beharrlichkeit ist eine Art Geist.

Weitere Artikel zur Verwendung von Java-Timern (Einführung in Timer) finden Sie auf der chinesischen PHP-Website!

Stellungnahme
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Crossplay haben?
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ist eine PHP/MySQL-Webanwendung, die sehr anfällig ist. Seine Hauptziele bestehen darin, Sicherheitsexperten dabei zu helfen, ihre Fähigkeiten und Tools in einem rechtlichen Umfeld zu testen, Webentwicklern dabei zu helfen, den Prozess der Sicherung von Webanwendungen besser zu verstehen, und Lehrern/Schülern dabei zu helfen, in einer Unterrichtsumgebung Webanwendungen zu lehren/lernen Sicherheit. Das Ziel von DVWA besteht darin, einige der häufigsten Web-Schwachstellen über eine einfache und unkomplizierte Benutzeroberfläche mit unterschiedlichen Schwierigkeitsgraden zu üben. Bitte beachten Sie, dass diese Software

PHPStorm Mac-Version

PHPStorm Mac-Version

Das neueste (2018.2.1) professionelle, integrierte PHP-Entwicklungstool

SublimeText3 Englische Version

SublimeText3 Englische Version

Empfohlen: Win-Version, unterstützt Code-Eingabeaufforderungen!

SecLists

SecLists

SecLists ist der ultimative Begleiter für Sicherheitstester. Dabei handelt es sich um eine Sammlung verschiedener Arten von Listen, die häufig bei Sicherheitsbewertungen verwendet werden, an einem Ort. SecLists trägt dazu bei, Sicherheitstests effizienter und produktiver zu gestalten, indem es bequem alle Listen bereitstellt, die ein Sicherheitstester benötigen könnte. Zu den Listentypen gehören Benutzernamen, Passwörter, URLs, Fuzzing-Payloads, Muster für vertrauliche Daten, Web-Shells und mehr. Der Tester kann dieses Repository einfach auf einen neuen Testcomputer übertragen und hat dann Zugriff auf alle Arten von Listen, die er benötigt.

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Leistungsstarke integrierte PHP-Entwicklungsumgebung