Cette fois, je vais vous expliquer comment exécuter des tâches régulièrement en Java. Cette fonction est souvent utilisée dans le traitement par lots.
Dans l'exemple, nous utiliserons la classe Timer pour implémenter le processus d'exécution de tâches sur une base régulière.
Ensuite, je vais l'expliquer immédiatement.
Après cela, il sera expliqué dans les versions et environnements suivants.
IDE:eclipse Version Java: 8
La structure de dossiers de cet exemple de programme est la suivante.
Implémentez les tâches que vous souhaitez exécuter régulièrement à l'aide de la classe TimerTask. Cette fois, nous allons implémenter un exemple de processus qui affiche périodiquement «La tâche a été exécutée» sur la console.
Main.java
package main;
//La pièce à ajouter cette fois
import java.util.TimerTask;
public class Main {
public static void main(String[] args) {
//La pièce à ajouter cette fois
TimerTask task = new TimerTask() {
public void run() {
//Traitement que vous souhaitez exécuter régulièrement
System.out.println("La tâche a été exécutée.");
}
};
}
}
Aussi, afin de vérifier combien de fois il a été exécuté, implémentons-le afin que vous puissiez voir le nombre de fois comme suit.
Main.java
package main;
import java.util.TimerTask;
public class Main {
public static void main(String[] args) {
TimerTask task = new TimerTask() {
int count = 0; //Traitement à ajouter cette fois
public void run() {
//Traitement que vous souhaitez exécuter régulièrement
count++; //Traitement à ajouter cette fois
System.out.println(count + "La deuxième tâche a été effectuée."); //Processus à corriger cette fois
}
};
}
}
Ensuite, nous implémenterons quand commencer à exécuter la tâche et à quels intervalles la tâche sera exécutée.
En ce qui concerne la méthode d'implémentation, utilisez la méthode scheduleAtFixedRate de la classe Timer. L'utilisation est la suivante.
Timer timer = new Timer();
timer.scheduleAtFixedRate(Tâches que vous souhaitez effectuer régulièrement,Il est temps d'exécuter la première tâche(ms),Intervalle entre les tâches à effectuer(ms));
Bien qu'il s'agisse du deuxième argument de la méthode scheduleAtFixedRate, vous pouvez spécifier non seulement «l'heure jusqu'à la première exécution de la tâche», mais également «l'heure de début de la tâche» dans le type Date.
Dans cet exemple, nous allons implémenter un processus qui exécute la tâche à des intervalles de 3 secondes 1 seconde après l'exécution de PGM.
Main.java
package main;
import java.util.Timer; //Traitement à ajouter cette fois
import java.util.TimerTask;
public class Main {
public static void main(String[] args) {
Timer timer = new Timer(); //Traitement à ajouter cette fois
TimerTask task = new TimerTask() {
int count = 0;
public void run() {
//Traitement que vous souhaitez exécuter régulièrement
count++;
System.out.println(count + "La deuxième tâche a été effectuée.");
}
};
timer.scheduleAtFixedRate(task,1000,3000); //Traitement à ajouter cette fois
}
}
Après avoir terminé l'implémentation ci-dessus, cliquez avec le bouton droit sur Main.java> Exécuter l'application Java pour l'exécuter.
C'est OK si les mots suivants sont envoyés à la console toutes les 3 secondes.
console
La première tâche a été effectuée.
La deuxième tâche a été effectuée.
La troisième tâche a été effectuée.
La quatrième tâche a été effectuée.
・ ・ ・
J'ai commencé mon blog personnel en 2020!
Sur la base des connaissances et de l'expérience acquises en tant qu'ingénieur indépendant, nous prévoyons de diffuser des informations sur les ingénieurs indépendants, des informations techniques informatiques, des informations sur l'industrie, des hacks de vie d'ingénieur et d'autres contenus.
Le nombre d'articles est encore faible, mais nous le mettons à jour chaque semaine, donc si vous êtes intéressé, veuillez jeter un coup d'œil.
https://yacchi-engineer.com/
Recommended Posts