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...
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...
Lance ta fonction dans un thread.
Après tu fais une boucle et tu fais dormir ton thread 1 seconde.
Code : Sélectionner tout - Visualiser dans une fenêtre à part tonThread.sleep(1000);
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...![]()
Lance ta fonction dans un thread.
Après tu fais une boucle et tu fais dormir ton thread 1 seconde.
Code :
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é.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 while(true){ maFonction(); tonThread.sleep(1000); }








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
Merci beaucoup pour votre aide... c'est très gentil de votre part...
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.
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.
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); }
(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








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);
Ok merci beaucoup pour votre aide c'est super gentil de votre part...
Partager