effectuer une tache pendant une temps definie - Java - Programmation
Marsh Posté le 25-08-2005 à 12:29:20
Tu fais 2 thread :
Un qui attend le temps X
et l'autre qui execute tes lignes.
Une fois que le 1er a attendu le temps que tu veux, tu lui dit d'arreter l'autre et voila
Marsh Posté le 25-08-2005 à 16:27:18
Tout simplement :
Code :
|
Marsh Posté le 25-08-2005 à 16:39:31
+1 pout iohack
Créer un thread juste pour qu'il attende, je trouve ca bof-bof
Marsh Posté le 25-08-2005 à 16:47:18
la solution de iohack semble corresponde parfaitement à ce que je recherchai.
Je teste ça!
Merci
PS: y a t'il une méthode plus recommandable qu'un autre? celle de esox_ch me donne l'impression d'être un bazouka pour tuer une mouche.
EDIT : ca marche! Merci iohack, tu me permet de finir une journée de galere et de partir de bonne humeur en week end (RTT power!)
Marsh Posté le 25-08-2005 à 20:41:38
J'ai pas fait de benchs mais si vous dites que c'est plus couteux en resources, j'vous crois sans problèmes . J'ai dit la 1ere solution qui m'est passée par la tete
Marsh Posté le 25-08-2005 à 21:32:30
Bof, les threads en java, ça coute rien, et puis les deux façons de faire répondent pas au même besoin: avec la façon "now()-maxtime", t'as une boucle infinie, et t'as interet à ce que cette boucle s'execute rapidement si tu veux un minimum de précision.
Avec les 2 threads en //, l'autre tâche n'a pas à être cyclique et peut etre simplement très longue/lente, et interrompue précisement quand on le veut.
Pour info, c'est par un système similaire que les serveurs d'applis j2ee se permettent d'interrompre des transactions trop longues (par rapport à un timeout défini)
Marsh Posté le 25-08-2005 à 12:18:52
Voila, j'aurai besoin de faire une sorte de decompteur et d'executer une serie de ligne tant que ce decompteur n'est pas à zero.
Un truc du style :
mais je sais même pas si c'est possible. J'ai regardé les classes TIMER et dérivé dans la javadoc, mais j'ai rien trouvé qui corresponde simplement à mon probleme.
Si quelqu'un avait un piste.
Merci