X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=TD1%2Fexo3%2FBufferCirc.java;h=68f1f1f9fd922c1eab10fcf1d1f52a336156c605;hb=4b705a7a399b380217baca9b23b911fc8bc7fe19;hp=335420aa60e278d80fb5ef6aa64078a7264fff1c;hpb=1180d8d3a4842901b6fb6fdae975fe5d39fe4039;p=TD_SR.git diff --git a/TD1/exo3/BufferCirc.java b/TD1/exo3/BufferCirc.java index 335420a..68f1f1f 100644 --- a/TD1/exo3/BufferCirc.java +++ b/TD1/exo3/BufferCirc.java @@ -32,6 +32,9 @@ public class BufferCirc { public synchronized void depose(Object obj) { while(isFull()) { try { + System.out.println("Buffer is full: " + Thread.currentThread().getName() + + " is waiting, size: " + nbObj); + wait(); } catch (InterruptedException e) {} @@ -39,14 +42,16 @@ public class BufferCirc { nbObj++; tampon[prem] = obj; prem = (prem + 1) % taille; + //System.out.println(Thread.currentThread().getName() + " a depose " + (Integer)obj); notify(); - System.out.println(Thread.currentThread().getName() + " a depose " + (Integer)obj); } public synchronized Object preleve() { while(isEmpty()) { try { + System.out.println("Buffer is empty: " + Thread.currentThread().getName() + + " is waiting, size: " + nbObj); wait(); } catch (InterruptedException e) {} @@ -55,8 +60,8 @@ public class BufferCirc { nbObj--; outObj = tampon[der]; der = (der + 1) % taille; + //System.out.println(Thread.currentThread().getName() + " a preleve " + (Integer)outObj); notify(); - System.out.println(Thread.currentThread().getName() + " a preleve " + (Integer)outObj); return outObj; }