synchro entre thread: wait() et notify() -> pb [RESOLU] [Java] - Java - Programmation
Marsh Posté le 17-12-2005 à 22:30:07
oki c'est bon j'ai trouvé, j'avais déjà essayé la synchronisation sur un objet commun (passé via le constructeur de chaque thread):
public class Monitor implements Runnable { |
mais ca me renvoyait exactement la même exception
mais en fait il faut faire une exclusion mutuelle sur l'appel de ces méthodes avec synchronized:
public class Monitor implements Runnable { |
Marsh Posté le 17-12-2005 à 21:53:27
salut
je tente (désespérement) de synchroniser 2 threads entre eux (l'un doit surveiller que l'autre arrive à terme)
j'essaie d'utiliser wait() et notify(), et que ce soit à l'exécution de l'une ou l'autre de ces méthodes (le wait() dans mon thread de surveillance, et le notify() dans mon thread arrivant à terme), à chaque fois j'ai l'exception "current thread not owner" (IllegalMonitorStateException) qui est levé.
qqun saurait me filer un coup de pouce
nb: mon code:
public class Monitor implements Runnable {
public Monitor() {
(new Thread(this)).start();
}
public void run() {
try {
wait();
}
catch (InterruptedException ie) {System.out.println("Erreur: synchronisation threads" );}
System.out.println("monitor terminé" );
}
}
public class monThread implements Runnable {
...
public monThread(...) {
...
(new Thread(this)).start();
}
...
public void run() {
...
notify();
System.out.println("monthread terminé" );
}
}
Message édité par trevor le 17-12-2005 à 22:31:01
---------------
TReVoR - http://dev.arqendra.net - http://info.arqendra.net