Heim Java javaLernprogramm Beispiele für Timer und geplante Aufgaben in Java

Beispiele für Timer und geplante Aufgaben in Java

May 16, 2017 am 09:55 AM
timertask 定时任务

In diesem Artikel werden hauptsächlich Beispiele für Timer- und TimerTask-Timer sowie geplante Aufgaben vorgestellt. Freunde in Not können sich darauf beziehen.

Diese beiden Klassen sind sehr praktisch und können abgeschlossen werden die meisten unserer Anforderungen an Timer

Die Timer-Klasse ist eine Klasse, die zum Ausführen von Aufgaben verwendet wird. Sie akzeptiert eine TimerTask als Parameter

Timer verfügt über zwei Modi zum Ausführen von Aufgaben, den am häufigsten verwendeten Zeitplan, der Aufgaben auf zwei Arten ausführen kann: 1: zu einem bestimmten Zeitpunkt (Daten), 2: nach einer festen Zeit (int-Verzögerung). Beide Methoden können die Häufigkeit der Aufgabenausführung angeben

TimerTest.Java:

package com.cn; 
import java.io.IOException; 
import java.util.Timer; 
  
public class TimerTest{   
      
  public static void main(String[] args){   
    Timer timer = new Timer();   
    timer.schedule(new MyTask(), 1000, 2000);//在1秒后执行此任务,每次间隔2秒执行一次,如果传递一个Data参数,就可以在某个固定的时间执行这个任务.   
    while(true){//这个是用来停止此任务的,否则就一直循环执行此任务   
      try{   
        int in = System.in.read();  
        if(in == 's'){   
          timer.cancel();//使用这个方法退出任务   
          break; 
        }   
      } catch (IOException e){   
        // TODO Auto-generated catch block   
        e.printStackTrace();   
      }   
    }   
  }  
   
  static class MyTask extends java.util.TimerTask{   
    public void run(){   
      System.out.println("");   
    }   
  }  
}
Nach dem Login kopieren

Diese Art von Laufzeit:

Drucken Sie „————“ auf der Konsole 1 Sekunde nach dem Start des Programms
Zwei Intervalle Nach Sekunden wird der Lauf( )-Methode von MyTask wird ausgeführt und „————“ wird gedruckt
Diese Schleife wird fortgesetzt
Wenn das s-Zeichen auf der Konsole eingegeben wird, bricht der Timer die Arbeit ab
Springt aus der gesamten Schleife
Das Programm ist fertig!

TimerTest2.java:

package com.cn; 
 
import java.io.IOException; 
import java.util.Date; 
import java.util.Timer; 
 
public class TimerTest2{   
    
  public static void main(String[] args){   
    Timer timer = new Timer();   
    MyTask myTask1 = new MyTask();   
    MyTask myTask2 = new MyTask();   
    myTask2.setInfo("myTask-info-2");   
     
    timer.schedule(myTask1, 1000, 2000); //任务1 一秒钟后执行,每两秒执行一次。  
    timer.scheduleAtFixedRate(myTask2, 2000, 3000);  //任务2 2秒后开始进行重复的固定速率执行(3秒钟重复一次) 
     
    while (true){   
      try{   
        //用来接收键盘输入的字符串 
        byte[] info = new byte[1024];   
        int len = System.in.read(info);  
         
        String strInfo = new String(info, 0, len, "GBK");//从控制台读出信息   
         
        if (strInfo.charAt(strInfo.length() - 1) == ' '){   
          strInfo = strInfo.substring(0, strInfo.length() - 2);   
        }  
         
        if (strInfo.startsWith("Cancel-1")){   
          myTask1.cancel();//退出任务1   
          // 其实应该在这里判断myTask2是否也退出了,是的话就应该break.但是因为无法在包外得到   
          // myTask2的状态,所以,这里不能做出是否退出循环的判断.   
        } else if (strInfo.startsWith("Cancel-2")){   
          myTask2.cancel(); //退出任务2  
        } else if (strInfo.startsWith("Cancel-All")){   
          timer.cancel();//退出Timer   
          break;   
        } else{   
          // 只对myTask1作出判断,偷个懒^_^   
          myTask1.setInfo(strInfo);   
        }   
      } catch (IOException e){   
        // TODO Auto-generated catch block   
        e.printStackTrace();   
      }   
    }   
  }   
  
  static class MyTask extends java.util.TimerTask{   
     
    String info = "INFO"; 
  
    @Override   
    public void run(){   
      // TODO Auto-generated method stub   
      System.out.println(new Date() + "   " + info);   
    }   
  
    public String getInfo(){   
      return info;   
    }   
    public void setInfo(String info){   
      this.info = info;   
    }   
  }   
   
}
Nach dem Login kopieren

Diese Klasse erstellt zwei geplante Aufgaben, mytask1 und mytask2.

mytask1-Aufgabe und die Beispielverwendung in der obigen TimerTest-Klasse sind gleich. Das bedeutet, dass die Ausführung der angegebenen Aufgabe mit einer wiederholten festen Verzögerung beginnend mit der angegebenen Verzögerung geplant ist.

Die mytask2-Aufgabe unterscheidet sich von der oben genannten Verwendung. timer.scheduleAtFixedRate wird mit der ScheduleAtFixedRate()-Methode des Timers ausgeführt. Die

scheduleAtFixedRate()-Methode ist in API1.6.0 wie folgt definiert:

Planen Sie die angegebene Aufgabe so, dass sie zum angegebenen Zeitpunkt wiederholt wird Ausführung zum Festpreis. Nachfolgende Ausführungen erfolgen in ungefähr festgelegten Abständen, getrennt durch den angegebenen Zeitraum.

Ungefähr feste Intervalle bedeuten, dass bei der Ausführung mit fester Rate jede Ausführung relativ zur geplanten anfänglichen Ausführungszeit geplant wird. Wenn sich eine Ausführung aus irgendeinem Grund verzögert (z. B. durch Speicherbereinigung oder andere Hintergrundaktivitäten), werden zwei oder mehr Ausführungen schnell hintereinander ausgeführt, sodass nachfolgende Ausführungen aufholen können.

Andere häufig verwendete Methoden der Timer-Klasse:

cancel()

Beenden Sie diesen Timer und verwerfen Sie alle derzeit geplanten Aufgaben.

purge()

Entfernt alle abgebrochenen Aufgaben aus der Aufgaben-Warteschlange dieses Timers.

schedule(TimerTask task, Date time)

Planen Sie die Ausführung der angegebenen Aufgabe zum angegebenen Zeitpunkt.

Andere häufig verwendete Methoden der TimerTask-Klasse:

cancel()

Diese Timer-Aufgabe abbrechen.

run()

Der Vorgang, der von dieser Timer-Aufgabe ausgeführt werden soll.

scheduledExecutionTime()

Gibt die geplante Ausführungszeit der letzten tatsächlichen Ausführung dieser Aufgabe zurück.

【Verwandte Empfehlungen】

1. Besondere Empfehlung: Version V0.1 von „php Programmer Toolbox“ herunterladen

2. Kostenloses Java-Video-Tutorial

3. JAVA-Tutorial-Handbuch

Das obige ist der detaillierte Inhalt vonBeispiele für Timer und geplante Aufgaben in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
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 vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Crossplay haben?
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Kennen Sie einige Gründe, warum geplante Crontab-Aufgaben nicht ausgeführt werden? Kennen Sie einige Gründe, warum geplante Crontab-Aufgaben nicht ausgeführt werden? Mar 09, 2024 am 09:49 AM

Zusammenfassung einiger Gründe, warum geplante Crontab-Aufgaben nicht ausgeführt werden: 9. Januar 2019, 09:34:57 Uhr Autor: Hope on the Field In diesem Artikel werden hauptsächlich einige Gründe zusammengefasst, warum geplante Crontab-Aufgaben nicht ausgeführt werden Für jeden der möglichen Auslöser werden Lösungen angegeben, die für Kollegen, die auf dieses Problem stoßen, einen gewissen Referenz- und Lernwert haben. Vorwort: Ich bin kürzlich auf einige Probleme bei der Arbeit gestoßen Die Aufgabe wurde nicht ausgeführt. Als ich später im Internet suchte, stellte ich fest, dass im Internet hauptsächlich diese fünf Anreize erwähnt wurden: 1. Der Crond-Dienst ist keine Funktion des Linux-Kernels, sondern basiert auf einem Cron.

Geplante Aufgabenplanung von ThinkPHP6: Geplante Aufgabenausführung Geplante Aufgabenplanung von ThinkPHP6: Geplante Aufgabenausführung Aug 12, 2023 pm 03:28 PM

Geplante Aufgabenplanung in ThinkPHP6: Geplante Aufgabenausführung 1. Einführung Im Prozess der Entwicklung von Webanwendungen stoßen wir häufig auf Situationen, in denen bestimmte sich wiederholende Aufgaben regelmäßig ausgeführt werden müssen. ThinkPHP6 bietet eine leistungsstarke Funktion zur Planung geplanter Aufgaben, mit der die Anforderungen geplanter Aufgaben problemlos erfüllt werden können. In diesem Artikel wird die Verwendung der geplanten Aufgabenplanung in ThinkPHP6 vorgestellt und einige Codebeispiele zum besseren Verständnis bereitgestellt. 2. Konfigurieren Sie geplante Aufgaben, erstellen Sie geplante Aufgabendateien und erstellen Sie einen Befehl im App-Verzeichnis des Projekts.

Wie führe ich eine Aufgabenplanung und geplante Aufgaben in PHP durch? Wie führe ich eine Aufgabenplanung und geplante Aufgaben in PHP durch? May 12, 2023 pm 06:51 PM

Bei der Webentwicklung müssen viele Websites und Anwendungen regelmäßig bestimmte Aufgaben ausführen, z. B. das Bereinigen von Junk-Daten, das Versenden von E-Mails usw. Um diese Aufgaben zu automatisieren, müssen Entwickler Aufgabenplanung und zeitgesteuerte Aufgabenfunktionen implementieren. In diesem Artikel wird die Implementierung von Aufgabenplanung und zeitgesteuerten Aufgaben in PHP sowie einige häufig verwendete Bibliotheken und Tools von Drittanbietern vorgestellt. 1. Aufgabenplanung Unter Aufgabenplanung versteht man die Ausführung bestimmter Aufgaben zu bestimmten Zeiten oder Ereignissen. In PHP können Cron-Timer oder ähnliche Mechanismen verwendet werden, um die Aufgabenplanung zu implementieren. Typischerweise Aufgabenplanung

Python implementiert die automatische Seitenaktualisierung und die Funktionsanalyse geplanter Aufgaben für Headless-Browser-Sammlungsanwendungen Python implementiert die automatische Seitenaktualisierung und die Funktionsanalyse geplanter Aufgaben für Headless-Browser-Sammlungsanwendungen Aug 08, 2023 am 08:13 AM

Python implementiert die automatische Seitenaktualisierung und geplante Aufgabenfunktionsanalyse für Headless-Browser-Erfassungsanwendungen. Mit der schnellen Entwicklung des Netzwerks und der Popularisierung von Anwendungen ist die Erfassung von Webseitendaten immer wichtiger geworden. Der Headless-Browser ist eines der effektivsten Tools zum Sammeln von Webseitendaten. In diesem Artikel wird erläutert, wie Sie mit Python die automatische Seitenaktualisierung und geplante Aufgabenfunktionen eines Headless-Browsers implementieren. Der Headless-Browser übernimmt einen Browser-Betriebsmodus ohne grafische Oberfläche, der das menschliche Bedienverhalten auf automatisierte Weise simulieren kann, wodurch der Benutzer auf Webseiten zugreifen, auf Schaltflächen klicken und Informationen eingeben kann.

So verwenden Sie geplante Aufgaben in FastAPI, um Hintergrundarbeiten auszuführen So verwenden Sie geplante Aufgaben in FastAPI, um Hintergrundarbeiten auszuführen Jul 28, 2023 pm 02:22 PM

So verwenden Sie geplante Aufgaben in FastAPI, um Hintergrundarbeiten durchzuführen. Aufgrund der schnellen Entwicklung von Internetanwendungen müssen viele Anwendungen regelmäßig Hintergrundaufgaben ausführen, z. B. Datenbereinigung, E-Mail-Versand, Sicherung usw. Um dieses Problem zu lösen, können wir geplante Aufgaben verwenden, um Hintergrundarbeiten automatisch auszuführen. In diesem Artikel stellen wir vor, wie Sie geplante Aufgaben im FastAPI-Framework verwenden, um Hintergrundarbeiten auszuführen. FastAPI ist ein modernes, schnelles (hochleistungsfähiges) Webframework, das hauptsächlich zum Erstellen von APIs verwendet wird. es hat

So entwickeln Sie mit PHP eine geplante Aktualisierungsfunktion für Webseiten So entwickeln Sie mit PHP eine geplante Aktualisierungsfunktion für Webseiten Aug 17, 2023 pm 04:25 PM

So entwickeln Sie mit PHP eine geplante Aktualisierungsfunktion für Webseiten. Mit der Entwicklung des Internets müssen immer mehr Websites Anzeigedaten in Echtzeit aktualisieren. Das Aktualisieren der Seite in Echtzeit ist eine häufige Anforderung, die es Benutzern ermöglicht, die neuesten Daten zu erhalten, ohne die gesamte Seite aktualisieren zu müssen. In diesem Artikel wird erläutert, wie Sie mit PHP eine geplante Aktualisierungsfunktion für Webseiten entwickeln und Codebeispiele bereitstellen. Die einfachste Möglichkeit, Meta-Tags zum regelmäßigen Aktualisieren der Seite zu verwenden, besteht darin, das Meta-Tag von HTML zum regelmäßigen Aktualisieren der Seite zu verwenden. In HTML<head>

Methoden zur Aufgabenplanung und geplanten Aufgabenimplementierung von Spring Boot Methoden zur Aufgabenplanung und geplanten Aufgabenimplementierung von Spring Boot Jun 22, 2023 pm 11:58 PM

SpringBoot ist ein sehr beliebtes Java-Entwicklungsframework. Es bietet nicht nur den Vorteil einer schnellen Entwicklung, sondern verfügt auch über viele integrierte praktische Funktionen. Zu den häufig verwendeten Funktionen zählen unter anderem die Aufgabenplanung und geplante Aufgaben. In diesem Artikel werden die Aufgabenplanungs- und Timing-Task-Implementierungsmethoden von SpringBoot untersucht. 1. Einführung in die SpringBoot-Aufgabenplanung Die SpringBoot-Aufgabenplanung (TaskScheduling) bezieht sich auf die Ausführung einiger spezieller Aufgaben zu einem bestimmten Zeitpunkt oder unter bestimmten Bedingungen.

So implementieren Sie geplante und periodische Aufgaben in FastAPI So implementieren Sie geplante und periodische Aufgaben in FastAPI Jul 30, 2023 pm 03:53 PM

So implementieren Sie geplante und periodische Aufgaben in FastAPI. Einführung: FastAPI ist ein modernes, hochleistungsfähiges Python-Framework, das sich auf die Erstellung von API-Anwendungen konzentriert. Manchmal müssen wir jedoch geplante Aufgaben und regelmäßige Aufgaben in FastAPI-Anwendungen ausführen. Dieser Artikel beschreibt, wie diese Aufgaben in einer FastAPI-Anwendung implementiert werden, und stellt entsprechende Codebeispiele bereit. 1. Implementierung geplanter Aufgaben mithilfe der APScheduler-Bibliothek APScheduler ist eine Funktion

See all articles