import java.util.ArrayList;
import java.util.List;
public class Fabrika {
int max_capacity = 5;
List products = new ArrayList<>();
public Fabrika(int capacity) {
max_capacity = capacity;
}
public void produce(String s) throws InterruptedException{
while(true) {
synchronized (this) {
while(products.size() == max_capacity) {
wait();
}
System.out.println("Produced: " + s);
products.add(s);
notify();
Thread.sleep(1000);
}
}
}
public void consume() throws InterruptedException{
while(true) {
synchronized (this) {
while(products.size() == 0) {
wait();
}
String s = products.remove(0);
System.out.println("Consumed: " + s);
notify();
Thread.sleep(1000);
}
}
}
}