Forum Clubic

[java] relancement d'un thread

j’ai une classe qui contient la methode run, cette methode travaile pendant un certain temps puis se termine

le pb est qu’elle ne veut pas se relancer lors d’un second appel

comment faire?

mon code :

public void lancer_machine(){
machine.run();
machine.join(); //avec le try catch corespondant
//different traitment
}
la methode lancer machine est elle meme lancée par un thread

merci de vos lumieres

la fin de la methode run() signifie la mort de ton thread donc comme les morts vivants ca n’existe pas…

et comment le recreer sans recreer la classe qui le contient?

ben placer ton calcul dans une boucle while(true) par exemple comme ca a la fin de ton calcul il recommence autrement pas d’autre solution a ma connaissance mais bon il y a peut etre d’autre personne que moi qui ont une idee!

Tu lances un nouveau Thread et tu attends qu’il ait terminé son exécution pour continuer le traitement avec ton thread courant?

Soit ton commentaire //different traitment est mal placé, soit ton autre thread ne sert à rien…

En partant de l’hypothèse d’un mauvais placement de //different traitment, tu peux faire ce qu’à dit aragorn, mais il faut enlever le “join()”, qui te bloquera complètement et le remplacer par une bête synchro. de thread (Tu fais attendre le 1er thread qui a fini jusqu’à ce que le second le libère)

effectivement c’est ce que j’ai fais

utilisation d’un booleen que l’on met a vrai ou faux

merci quand meme.