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

Langage Java Discussion :

Execution des Timer


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de ploxien
    Inscrit en
    Février 2006
    Messages
    467
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Février 2006
    Messages : 467
    Par défaut Execution des Timer
    Hello,

    J'utilise des timers. Je fais donc une opération, par exemple toutes les 10ms:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tm.schedule(new ExecuteJob(...), 0, 10);
    Mais si le code contenu dans le run fait plus de 10ms... J'ai fait des tests et vu qu'il attendait que le précédent soit terminé avant de lancer le suivant, ce qui est normal. Mais ce que je voudrais, c'est qu'au lieu d'attendre, il lève une exception, ou à la limite annule cette exécution seulement. Est-ce possible?

    Exemple:
    - Je lance mon timer
    - La première execution débute
    - Le temps pour passer à la seconde est arrivé, mais la première n'est pas terminée. La seconde est donc annulée (ignorée).
    - Le temps pour passer à la troisième execution est arrivé, et la première étant terminée et la seconde annulée, on lance la troisième...

    Ca ferait donc:
    1 OK
    2 Annulée
    3 OK
    ...

    Est-ce possible? Ou quelque chose de similaire? En fait mon but est d'éviter qu'il y ait une queue d'attente en constante augmentation...

    Merci d'avance.

    A+

  2. #2
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Par défaut
    Tu as un moyen simple de réaliser ça en utilisant un Thread (et en faisant une vérification sur sa méthode isAlive()).

    Voici l'algorithme (à toi de le mettre en oeuvre):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    Runnable r; // La classe contenant le code à exécuter dans la méthode run()
    Thread t;
     
    // Initialisation
    t = new Thread(r);
    t.start();
     
    Timer -> Toutes les 10s:
       si t.isAlive() {
          // ne rien faire ou signaler l'annulation du lancement
       } sinon {
          // Lancement du traitement suivant
          t = new Thread(r);
          t.start();
       }
    Fin du Timer
    Avant de poster, pensez à regarder la FAQ, les tutoriaux, la Javadoc (de la JRE que vous utilisez) et à faire une recherche
    Je ne réponds pas aux questions techniques par MP: les forums sont faits pour ça
    Mes articles et tutoriaux & Mon blog informatique

  3. #3
    Membre éclairé Avatar de ploxien
    Inscrit en
    Février 2006
    Messages
    467
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Février 2006
    Messages : 467
    Par défaut
    Nickel, merci bien!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Executer des tâches en parallèle [Timer]
    Par zakarota dans le forum Général Java
    Réponses: 1
    Dernier message: 06/07/2011, 14h01
  2. [Sécurité] Execution des include() sous windows/Linux
    Par secteur_52 dans le forum Langage
    Réponses: 27
    Dernier message: 14/11/2005, 18h50
  3. [DLL] Ma DLL execute le Timer une seul fois !
    Par TOTO32 dans le forum Langage
    Réponses: 14
    Dernier message: 13/08/2005, 20h37
  4. [Kylix] Kylix 3 execution des projets sur RH 7.3
    Par josian99 dans le forum EDI
    Réponses: 2
    Dernier message: 22/11/2002, 02h00
  5. Réponses: 3
    Dernier message: 02/09/2002, 18h49

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