- Object outObj = null;\r
- if (isEmpty()) {\r
- nbObj--;\r
- outObj = tampon[der];\r
- der = (der + 1) % taille;\r
- System.out.println(Thread.currentThread().getName() + " a preleve " + (Integer)outObj);\r
- } else {\r
- System.out.println("Buffer vide pour " + Thread.currentThread().getName());\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