import java.util.ArrayList; import java.util.List; public class Factory { List vaccines = new ArrayList<>(); int max_capacity = 2; public Factory(int capacity) { max_capacity = capacity; } public void produce_vaccine(String vaccine) throws InterruptedException{ while(true) { synchronized (this) { while(vaccines.size() == max_capacity) { wait(); } System.out.println("Sme proizvele vakcina: " + vaccine); vaccines.add(vaccine); notify(); Thread.sleep(1000); // davame vreme da napravi sinhronizacija } } } public void buy_vaccine() throws InterruptedException { while(true) { synchronized (this) { while(vaccines.size() == 0) { wait(); } String vaccine = vaccines.remove(0); System.out.println("Sme ja kupile: " + vaccine); notify(); Thread.sleep(1000); } } } }