public synchronized void depose(Object obj) {\r
while(isFull()) {\r
try {\r
+ System.out.println("Buffer is full: " + Thread.currentThread().getName()\r
+ + " is waiting, size: " + nbObj);\r
+\r
wait();\r
}\r
catch (InterruptedException e) {}\r
tampon[prem] = obj;\r
prem = (prem + 1) % taille;\r
//System.out.println(Thread.currentThread().getName() + " a depose " + (Integer)obj);\r
- notify();\r
+ notifyAll();\r
}\r
\r
\r
public synchronized Object preleve() {\r
while(isEmpty()) {\r
try {\r
+ System.out.println("Buffer is empty: " + Thread.currentThread().getName()\r
+ + " is waiting, size: " + nbObj);\r
wait();\r
}\r
catch (InterruptedException e) {}\r
outObj = tampon[der];\r
der = (der + 1) % taille;\r
//System.out.println(Thread.currentThread().getName() + " a preleve " + (Integer)outObj);\r
- notify();\r
+ notifyAll();\r
return outObj;\r
}\r
\r