Exemples de minuteries et de tâches planifiées en Java
Cet article présente principalement des exemples de minuteries Timer et TimerTask et de tâches planifiées en Java. Il est d'une grande valeur pratique. Les amis dans le besoin peuvent s'y référer
Ces deux classes sont très pratiques à utiliser et peuvent être complétées. la plupart de nos besoins en timers
La classe Timer est une classe utilisée pour exécuter des tâches. Elle accepte une TimerTask comme paramètre
Timer a deux modes d'exécution de tâches, le plus couramment utilisé est le suivant. planning, qui peut exécuter des tâches de deux manières : 1 : à une certaine heure (Data), 2 : après une heure fixe (int delay). Les deux méthodes peuvent spécifier la fréquence d'exécution des tâches
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(""); } } }
Ce type d'exécution :
Imprimer "————" sur la console 1 seconde après le démarrage du programme
Deux intervalles Après quelques secondes, l'exécution( ) de MyTask est exécutée et "————" est imprimé
Cette boucle continue
Lorsque le caractère s est saisi sur la console, le timer annule le travail
Saute hors de toute la boucle
Le programme est terminé !
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; } } }
Cette classe crée deux tâches planifiées mytask1 et mytask2
mytask1 task et exemple d'utilisation dans la classe TimerTest ci-dessus Idem. Autrement dit, la tâche spécifiée est planifiée pour être exécutée avec un délai fixe de manière répétée à partir du délai spécifié.
La tâche mytask2 est différente de l'utilisation ci-dessus timer.scheduleAtFixedRate est exécutée à l'aide de la méthode planningAtFixedRate() du timer. La méthode
scheduleAtFixedRate() est définie comme suit dans API1.6.0 :
Planifier la tâche spécifiée pour qu'elle commence à se répéter à l'heure spécifiée Exécuté à un taux fixe. Les exécutions ultérieures ont lieu à des intervalles approximativement fixes, séparés par la période spécifiée.
Des intervalles approximativement fixes signifient que dans une exécution à taux fixe, chaque exécution est planifiée par rapport à l'heure d'exécution initiale prévue. Si une exécution est retardée pour une raison quelconque (telle qu'un garbage collection ou une autre activité en arrière-plan), deux ou plusieurs exécutions se succéderont rapidement, permettant aux exécutions suivantes de rattraper leur retard.
Autres méthodes couramment utilisées de la classe Timer :
cancel()
Terminez ce minuteur, en supprimant toutes les tâches actuellement planifiées.
purge()
Supprime toutes les tâches annulées de la file d'attente des tâches de ce minuteur.
schedule(TimerTask task, Date time)
Planifier l'exécution de la tâche spécifiée à l'heure spécifiée.
Autres méthodes couramment utilisées de la classe TimerTask :
cancel()
Annulez cette tâche du minuteur.
run()
L'opération à effectuer par cette tâche de minuterie.
scheduledExecutionTime()
Renvoie l'heure d'exécution planifiée de l'exécution réelle la plus récente de cette tâche.
【Recommandations associées】
1. Recommandation spéciale : Téléchargez la version V0.1 de "php Programmer Toolbox"
2. Tutoriel vidéo gratuit Java
.Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Résumé de quelques raisons pour lesquelles les tâches planifiées crontab ne sont pas exécutées. Heure de mise à jour : 9 janvier 2019 09:34:57 Auteur : Hope on the field Cet article résume et vous présente principalement quelques raisons pour lesquelles les tâches planifiées crontab ne sont pas exécutées. tout le monde Des solutions sont données pour chacun des déclencheurs possibles, qui ont une certaine valeur de référence et d'apprentissage pour les collègues qui rencontrent ce problème. Les étudiants dans le besoin peuvent suivre l'éditeur pour apprendre ensemble. Préface : J'ai récemment rencontré des problèmes au travail. La tâche n'a pas été exécutée. Plus tard, lors d'une recherche sur Internet, j'ai découvert qu'Internet mentionnait principalement ces cinq incitations : 1. Le service crond n'est pas démarré n'est pas une fonction du noyau Linux, mais repose sur un cron.

Planification des tâches planifiées ThinkPHP6 : exécution de tâches planifiées 1. Introduction Dans le processus de développement d'applications Web, nous rencontrons souvent des situations où certaines tâches répétitives doivent être exécutées régulièrement. ThinkPHP6 fournit une puissante fonction de planification de tâches planifiées, qui peut facilement répondre aux besoins des tâches planifiées. Cet article explique comment utiliser la planification de tâches planifiées dans ThinkPHP6 et fournit quelques exemples de code pour vous aider à comprendre. 2. Configurez les tâches planifiées, créez des fichiers de tâches planifiées et créez une commande dans le répertoire d'applications du projet.

Dans le développement Web, de nombreux sites Web et applications doivent effectuer régulièrement certaines tâches, telles que nettoyer les données indésirables, envoyer des e-mails, etc. Afin d'automatiser ces tâches, les développeurs doivent implémenter des fonctions de planification de tâches et de tâches chronométrées. Cet article présentera comment implémenter la planification des tâches et les tâches chronométrées en PHP, ainsi que certaines bibliothèques et outils tiers couramment utilisés. 1. Planification des tâches La planification des tâches fait référence à l'exécution de certaines tâches en fonction d'heures ou d'événements spécifiés. En PHP, une minuterie cron ou un mécanisme similaire peut être utilisé pour implémenter la planification des tâches. Généralement, la planification des tâches

Python implémente l'actualisation automatique des pages et l'analyse des fonctions de tâches planifiées pour les applications de collecte de navigateurs sans tête. Avec le développement rapide du réseau et la popularisation des applications, la collecte de données de pages Web est devenue de plus en plus importante. Le navigateur sans tête est l'un des outils efficaces pour collecter des données de pages Web. Cet article explique comment utiliser Python pour implémenter les fonctions d'actualisation automatique des pages et de tâches planifiées d'un navigateur sans tête. Le navigateur sans tête adopte un mode de fonctionnement de navigateur sans interface graphique, qui peut simuler le comportement humain de manière automatisée, permettant ainsi à l'utilisateur d'accéder à des pages Web, de cliquer sur des boutons et de remplir des informations.

Comment utiliser des tâches planifiées dans FastAPI pour effectuer un travail en arrière-plan Avec le développement rapide des applications Internet, de nombreuses applications nécessitent des tâches en arrière-plan qui doivent être exécutées régulièrement, telles que le nettoyage des données, l'envoi d'e-mails, la sauvegarde, etc. Afin de résoudre ce problème, nous pouvons utiliser des tâches planifiées pour exécuter automatiquement un travail en arrière-plan. Dans cet article, nous expliquerons comment utiliser les tâches planifiées dans le framework FastAPI pour effectuer un travail en arrière-plan. FastAPI est un framework Web moderne et rapide (haute performance) principalement utilisé pour créer des API. il a

Comment utiliser PHP pour développer une fonction d'actualisation programmée des pages Web Avec le développement d'Internet, de plus en plus de sites Web ont besoin de mettre à jour les données d'affichage en temps réel. L'actualisation de la page en temps réel est une exigence courante, qui permet aux utilisateurs d'obtenir les données les plus récentes sans actualiser la page entière. Cet article explique comment utiliser PHP pour développer une fonction d'actualisation planifiée pour les pages Web et fournit des exemples de code. Le moyen le plus simple de mettre en œuvre l’actualisation programmée à l’aide de la balise Meta consiste à utiliser la balise HTML Meta pour actualiser régulièrement la page. En HTML<head>

SpringBoot est un framework de développement Java très populaire. Il présente non seulement l'avantage d'un développement rapide, mais possède également de nombreuses fonctions pratiques intégrées, parmi lesquelles la planification des tâches et les tâches planifiées sont l'une de ses fonctions couramment utilisées. Cet article explorera les méthodes de planification et de mise en œuvre des tâches de SpringBoot. 1. Introduction à la planification des tâches SpringBoot La planification des tâches SpringBoot (TaskScheduling) fait référence à l'exécution de certaines tâches spéciales à un moment précis ou sous certaines conditions.

Comment implémenter des tâches planifiées et des tâches périodiques dans FastAPI Introduction : FastAPI est un framework Python moderne et hautement performant axé sur la création d'applications API. Cependant, nous devons parfois effectuer des tâches planifiées et des tâches périodiques dans les applications FastAPI. Cet article décrit comment implémenter ces tâches dans une application FastAPI et fournit des exemples de code correspondants. 1. Implémentation de tâches planifiées à l'aide de la bibliothèque APScheduler APScheduler est une fonction
