Uses synchronised keyword.

This commit is contained in:
Tanmay 2022-08-24 13:44:58 +01:00
parent 4f751a011e
commit c7437d90bc
4 changed files with 18 additions and 16 deletions

View File

@ -12,15 +12,16 @@ public class Consumer implements Runnable {
private Queue<UnitOfWork> store;
private String name;
@Override
public void run() {
while (true) {
if (store.size() > 0) {
store.remove();
System.out.println("Consumed: " + name + " Left units :" + store.size());
while (true) {
synchronized (store) {
if (store.size() > 0) {
store.remove();
System.out.println("Consumed: " + name + " Left units :" + store.size());
}
}
}
}
}

View File

@ -13,15 +13,16 @@ public class Producer implements Runnable {
private int maxSize;
private String name;
@Override
public void run() {
while (true) {
if (store.size() < maxSize) {
store.add(new UnitOfWork());
System.out.println("Produced: " + name + " Left units :" + store.size());
while (true) {
synchronized (store) {
if (store.size() < maxSize) {
store.add(new UnitOfWork());
System.out.println("Produced: " + name + " Left units :" + store.size());
}
}
}
}
}