mersai
Messages postés10Date d'inscriptionlundi 26 avril 2004StatutMembreDernière intervention22 avril 2009
-
11 avril 2009 à 00:54
mersai
Messages postés10Date d'inscriptionlundi 26 avril 2004StatutMembreDernière intervention22 avril 2009
-
14 avril 2009 à 15:04
bonjour;
j'ai 4 threads avec identificateur 1,2,3 et 4, qui sont bloqués sur un objet en utilisant obj.wait().
comment faire pour réveillé un thread bien déterminé (cad; le threads 3 par exemple); j'ai utilisé obj.notify() mais elle reveille aléatoirement l'un thread.
cs_Kysic
Messages postés332Date d'inscriptionmardi 12 juillet 2005StatutMembreDernière intervention17 juillet 2010 11 avril 2009 à 18:06
Salut,
Si tu veux décider quel thread réveiller ne les bloquent pas sur le même objet.
Tu pourra ensuite faire un notify sur l'objet correspondant à celui que tu veux réveiller, cet objet pouvant d'ailleurs être le thread lui même (avec une méthode du style "public synchronized void reveiller() { notify() }" par exemple).
Sinon tu peux aussi surement faire ça bourrin avec un notifyAll et rendormir ceux qui ne correspondent pas.