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...
Version imprimable
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:tonThread.sleep(1000);
Salut,
Regardes du côté des Timer
+1 pour les Timer
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... :ccool:
Citation:
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:
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:
1
2
3
4 while(true){ maFonction(); tonThread.sleep(1000-le temps que mets maFonction a s'executer); }
Ok merci beaucoup pour votre aide...
Pour avoir le temps que mets la fonction a s'executer, il faut faire ca
Code:
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...