Thread.

etudev Messages postés 47 Date d'inscription vendredi 10 février 2006 Statut Membre Dernière intervention 23 mai 2006 - 18 mars 2006 à 20:10
etudev Messages postés 47 Date d'inscription vendredi 10 février 2006 Statut Membre Dernière intervention 23 mai 2006 - 19 mars 2006 à 21:30
bonjour a tous,
Voila j'ai un probleme avec les threads et je ne sais pas comment m'y faire; je m'explique:
je génère des threads en utilisant une boucle:
for(i=0; i=n ; i++) { Thread l=new thread();
l.start ();}
je veux faire un wait( ) pour tout les threads et je n'y arrive pas, car le wait s'utilise pour un thread precis et je ne peux pas l'appliquer sur plusieurs threads.

9 réponses

cs_neodante Messages postés 2835 Date d'inscription lundi 11 août 2003 Statut Modérateur Dernière intervention 16 décembre 2006 11
19 mars 2006 à 01:00
Essaye d'utiliser un ThreagGroup ou de garder une référence de toutes tes threads dans un tableau ou une collection ;-)

++
0
etudev Messages postés 47 Date d'inscription vendredi 10 février 2006 Statut Membre Dernière intervention 23 mai 2006
19 mars 2006 à 18:43
Bonjour,
Merci pour votre reponse, je viens d'essayé avec threadgroup comme suit:
ThreadGroup groupe = new ThreadGroup("Mon groupe");
un peu plus loin dans mon code j'ai mis:
for(int i=0;ipour executer le wait() j'ai mis:

try{
groupe.wait();
}
catch(InterruptedException e){ e.printStackTrace(); }
mais ca ne marche pas:
java.lang.IllegalMonitorStateException: current thread not owner
at java.lang.Object.wait(Native Method)
je ne comprend pas pourquoi.
Merci de bien vouloir m'aidee.
0
cs_neodante Messages postés 2835 Date d'inscription lundi 11 août 2003 Statut Modérateur Dernière intervention 16 décembre 2006 11
19 mars 2006 à 19:23
Est-ce que tu as déclaré et lancé toutes tes threads dans la thread qui fait le wait ??

++
0
etudev Messages postés 47 Date d'inscription vendredi 10 février 2006 Statut Membre Dernière intervention 23 mai 2006
19 mars 2006 à 20:02
Salut,
je lance mes threads quand je clique sur un button(Methode actionperformed ) et
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
etudev Messages postés 47 Date d'inscription vendredi 10 février 2006 Statut Membre Dernière intervention 23 mai 2006
19 mars 2006 à 20:06
je m'exuse,
donc je lance mes threads quand je clique sur un button(Methode actionperformed ) , ces threads s'execute pendant un certain temps,puis l'une d'elles lance un deuxieme thread (Thread2 qui n'appartien pas au groupe)qui execute le groupe.wait( ). Merci.
0
cs_neodante Messages postés 2835 Date d'inscription lundi 11 août 2003 Statut Modérateur Dernière intervention 16 décembre 2006 11
19 mars 2006 à 20:14
Ben c'est pour ça, tu ne peux contrôler une thread lancée que dans la thread qui est à l'origine de sa création ..

++
0
etudev Messages postés 47 Date d'inscription vendredi 10 février 2006 Statut Membre Dernière intervention 23 mai 2006
19 mars 2006 à 20:43
Merci pour cette information qui m'a beaucoups aidee.
je voulai savoir si je peux passer des parametres lors de la creation de chaque thread comme suis:

public static ThreadGroup groupe = new ThreadGroup("Mon groupe");
thread1 p1 = new thread1( i , j, groupe, "P1");

Encore merci.
0
cs_neodante Messages postés 2835 Date d'inscription lundi 11 août 2003 Statut Modérateur Dernière intervention 16 décembre 2006 11
19 mars 2006 à 20:53
0
etudev Messages postés 47 Date d'inscription vendredi 10 février 2006 Statut Membre Dernière intervention 23 mai 2006
19 mars 2006 à 21:30
je vous remercie pour votre aide
0
Rejoignez-nous