71204cc158c1680631d02c0714d338e90f9785a1
4 * implementation du producteur consommateur avec un buffer circulaire
6 public class BufferCirc
{
8 private Object
[] tampon
;
10 private int prem
, der
, nbObj
;
13 public BufferCirc (int t
) {
15 tampon
= new Object
[taille
];
22 public boolean isEmpty() {
27 public boolean isFull() {
28 return nbObj
== taille
;
32 public synchronized void depose(Object obj
) {
36 prem
= (prem
+ 1) % taille
;
37 System
.out
.println(Thread
.currentThread().getName() + " a depose " + (Integer
)obj
);
39 System
.out
.println("Buffer plein pour " + Thread
.currentThread().getName());
44 public synchronized Object
preleve() {
49 der
= (der
+ 1) % taille
;
50 System
.out
.println(Thread
.currentThread().getName() + " a preleve " + (Integer
)outObj
);
52 System
.out
.println("Buffer vide pour " + Thread
.currentThread().getName());
57 } // fin class BufferCirc