[Java] Comment exécuter des tâches régulièrement

introduction

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.

1. Environnement de développement

Après cela, il sera expliqué dans les versions et environnements suivants.

IDE:eclipse Version Java: 8

2. Structure des dossiers

La structure de dossiers de cet exemple de programme est la suivante. スクリーンショット 2018-11-14 21.02.27.png

3. Mise en œuvre d'un exemple de programme

3-1. Mise en œuvre des tâches que vous souhaitez exécuter régulièrement

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
            }
        };
    }
}

3-2. Mise en œuvre du calendrier

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.
・ ・ ・

à la fin

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

[Java] Comment exécuter des tâches régulièrement
Remarques sur l'utilisation des expressions régulières en Java
Comment créer un conteneur Java
Comment créer un tableau Java
Comment déployer une application Java Servlet simple sur Heroku
Comment déployer une application kotlin (java) sur AWS Fargate
Comment vérifier Java installé sur Mac
Comment exécuter un contrat avec web3j
Comment exécuter la commande de copie Postgresql avec des informations de colonne sur Java
Comment changer de version de Java sur Mac
Comment créer un robot Discord (Java)
Comment afficher une page Web en Java
[Ethereum] Comment exécuter un contrat en utilisant web3j-Part 2-
Comment exécuter des tâches en parallèle avec Swift dans Swift Package
Comment créer un environnement Pytorch sur Ubuntu
[Java] Mémo sur la façon d'écrire la source
Comment créer un environnement Java en seulement 3 secondes
Comment passer d'Eclipse Java à un fichier SQL
Comment utiliser la bibliothèque non standard Java sur IntelliJ IDEA
java: Comment écrire une liste de types génériques [Note]
[Java] Comment sortir de Janken (équivalent à paiza rang A)
Comment faire fonctionner JavaScript sur une page spécifique
Comment créer un URI de données (base64) en Java
[Java] Comment obtenir une requête par communication HTTP
À partir d'avril 2018 Comment installer Java 8 sur Mac
[Java] Comment découper une chaîne de caractères caractère par caractère
[Java] Comment effacer un caractère spécifique d'une chaîne de caractères
Comment convertir A en A et A en A en utilisant le produit logique et la somme en Java
Comment convertir un fichier en tableau d'octets en Java
Comment exécuter Java EE Tutial sur github sur Eclipse
Comment exécuter l'exemple WebCamCapture de NyARToolkit pour Java
[Java] Comment rompre une ligne avec StringBuilder
Comment abaisser la version java
[Java] Comment utiliser Map
Comment désinstaller Java 8 (Mac)
Comment utiliser java Facultatif
[outil java] Un outil utile lorsque vous souhaitez envoyer régulièrement le journal ipmsg de PC-A au PC spécifié.
Comment déployer avec heroku
Comment réduire les images Java
Comment rédiger un commentaire java
Comment laisser un commentaire
Comment utiliser la classe Java
[Java] Comment utiliser removeAll ()
[Java] Comment afficher les Wingdings
Comment utiliser Java Map
Comment définir des constantes Java
Comment utiliser les variables Java
Comment convertir la base Java
[Java] Comment implémenter le multithreading
Comment initialiser un tableau Java
Comment insérer une vidéo
Comment créer une méthode