CCCPaste

Untitled


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);
            }
        }
    }
}