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

avec Java Discussion :

Exécuter une fonction chaque seconde


Sujet :

avec Java

  1. #1
    Membre éclairé Avatar de zemzoum89
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2010
    Messages
    373
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2010
    Messages : 373
    Par défaut Exécuter une fonction chaque seconde
    Bonjour,

    j'ai une fonction et je voudrai qu'elle s'exécuter chaque seonde, j'ai rien trouvé de mon coté, merci pour votre aide...

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2010
    Messages : 13
    Par défaut
    Lance ta fonction dans un thread.
    Après tu fais une boucle et tu fais dormir ton thread 1 seconde.

  3. #3
    Membre émérite
    Avatar de michel.di
    Homme Profil pro
    Freelance
    Inscrit en
    Juin 2009
    Messages
    782
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 782
    Par défaut
    Salut,
    Regardes du côté des Timer

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    342
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 342
    Par défaut
    +1 pour les Timer

  5. #5
    Membre éclairé Avatar de zemzoum89
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2010
    Messages
    373
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2010
    Messages : 373
    Par défaut
    comment ça? moi je vous demande un truc pour que ma fonction se ré-exécute chaque seconde et vous me dites t.sleep(1000)?? la c'est pour fair dormir le thread nn?, merci beaucoup pour votre aide...

  6. #6
    Membre expérimenté
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juillet 2009
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 130
    Par défaut
    Lance ta fonction dans un thread.
    Après tu fais une boucle et tu fais dormir ton thread 1 seconde.
    Code :

    tonThread.sleep(1000);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    while(true){
        maFonction();
        tonThread.sleep(1000);
    }
    Après je pense qu'il y a un moyen plus propre de le faire, mais je ne l'ai jamais utilisé.

  7. #7
    Membre confirmé
    Inscrit en
    Février 2008
    Messages
    123
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 123
    Par défaut
    Les fonctions de la classe Timer devrais te rendre ce service.

    http://download.oracle.com/javase/1....til/Timer.html

    Il te suffit d'encapsuler tes méthodes dans des TimersTask

  8. #8
    Membre éclairé Avatar de zemzoum89
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2010
    Messages
    373
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2010
    Messages : 373
    Par défaut
    Merci beaucoup pour votre aide... c'est très gentil de votre part...

  9. #9
    Modérateur
    Avatar de wax78
    Homme Profil pro
    R&D - Palefrenier programmeur
    Inscrit en
    Août 2006
    Messages
    4 104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : R&D - Palefrenier programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 104
    Par défaut
    Je rajouterai un leger truc qui me semble pas inutile si on veux avoir la seconde precise et non la seconde + le temps que mets maFonction (si elle mets 300 ms ca risque de faire de drole de seconde). A condition que maFonction ne depasse jamais la seconde sinon d'office c'est mort.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    while(true){
        maFonction();
        tonThread.sleep(1000-le temps que mets maFonction a s'executer);
    }
    Avec un timer c'est bien aussi, mais si jamais maFonction mets plus qu'une secondes on va se retrouver avec 2 timer ce qui peut etre hasardeux si la fonction de ceux ci manipule un ou des données.
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  10. #10
    Membre éclairé Avatar de zemzoum89
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2010
    Messages
    373
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2010
    Messages : 373
    Par défaut
    Ok merci beaucoup pour votre aide...

  11. #11
    Membre confirmé
    Inscrit en
    Février 2008
    Messages
    123
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 123
    Par défaut
    Pour avoir le temps que mets la fonction a s'executer, il faut faire ca

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    long t1=System.currentTimeMillis();
     
    //Le tas de code
     
     
    long t2=System.currentTimeMillis();
     
     
    tonThread.sleep(1000-t2+t1);

  12. #12
    Membre éclairé Avatar de zemzoum89
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2010
    Messages
    373
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2010
    Messages : 373
    Par défaut
    Ok merci beaucoup pour votre aide c'est super gentil de votre part...

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

Discussions similaires

  1. exécuter une fonction tout les xx secondes
    Par med.doc dans le forum C++
    Réponses: 26
    Dernier message: 27/09/2013, 00h10
  2. Exécuter une fonction après quelques secondes
    Par Akim13 dans le forum Langage
    Réponses: 13
    Dernier message: 12/03/2013, 18h56
  3. Exécution d'une fonction à chaque déclenchement d'un événement
    Par Invité dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 15/06/2011, 22h25
  4. Exécuter une fonction chaque Seconde
    Par killer69 dans le forum C#
    Réponses: 18
    Dernier message: 30/01/2008, 10h37
  5. Exécuter une fonction paramétrée apres 5 secondes
    Par sosophie dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 20/08/2007, 16h49

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