etudev
Messages postés47Date d'inscriptionvendredi 10 février 2006StatutMembreDernière intervention23 mai 2006
-
18 mars 2006 à 20:10
etudev
Messages postés47Date d'inscriptionvendredi 10 février 2006StatutMembreDernière intervention23 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.
A voir également:
Exception in thread "awt-eventqueue-0" java.lang.illegalmonitorstateexception: current thread is not owner
etudev
Messages postés47Date d'inscriptionvendredi 10 février 2006StatutMembreDernière intervention23 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.
etudev
Messages postés47Date d'inscriptionvendredi 10 février 2006StatutMembreDernière intervention23 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.
etudev
Messages postés47Date d'inscriptionvendredi 10 février 2006StatutMembreDernière intervention23 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");