IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

API standards et tierces Java Discussion :

Déclenchement très régulier.


Sujet :

API standards et tierces Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2010
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 22
    Par défaut Déclenchement très régulier.
    Bonjour à tous.

    Je souhaite lancer des tâches à une seconde d'intervalle pour obtenir la chose suivante :

    Une tâche qui se renouvelle toutes les 10 secondes à la seconde n,
    une tâche qui se renouvelle toutes les 10 secondes à la seconde n+1,
    une tâche... etc jusqu'à n+10.


    Je vois comment faire en sorte qu'une tâche se répète toutes les 10 secondes mais comment lancer les 10 tâches exactement à une seconde d'intervalle et être sûr que l'une ne débordera pas sur l'autre ?

    En clair si je lance la tâche 2 à 0 heure 0 minute et 2 secondes, je veux être sûr qu'elle s'exécutera aussi à 10 heures 15 minutes et 2 secondes.

    Ce n'est pas une question de vie ou de mort mais je suppose que Java qui travaille à la milliseconde (voire nanoseconde) doit pouvoir être assez précis pour ça non ?

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Si t'es pas à quelque millisecondes prêt et soit T1 le moment où tu veux exécuter ta tâche


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    while(onContinue){
      Date t1 = .....
      long currentTime = System.currentTimeMillis();
      Thread.sleep(t1.getTime()-currentTime);
      // on se met au travail
    }

  3. #3
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Juillet 2002
    Messages
    705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 705
    Par défaut
    Voir du cote de la classe Timer de java aussi

Discussions similaires

  1. [Ubuntu 8.10][Eclipse 3.2] Crash aléatoire très régulier
    Par ovh dans le forum Applications et environnements graphiques
    Réponses: 7
    Dernier message: 09/03/2009, 23h08
  2. Déclenchement d'évènement à intervalle régulier
    Par Jacques Deyrieux dans le forum Débuter
    Réponses: 1
    Dernier message: 04/06/2006, 09h16
  3. Une unité pour gérer des très grands nombres
    Par M.Dlb dans le forum Langage
    Réponses: 2
    Dernier message: 09/09/2003, 12h07
  4. Déclenchement Programme sur Virtual Key
    Par Tom-G dans le forum API, COM et SDKs
    Réponses: 9
    Dernier message: 09/05/2003, 12h58
  5. Réponses: 4
    Dernier message: 28/09/2002, 00h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo