I'm pretty sure the problem is somewhere inside the daemon thread, but i'm not sure where or how to fix it. Can anybody help with that, since the mentor doesn't give any hints. I am also assuming the last one doesn't verify due to some failure in the daemon thread.
package com.codegym.task.task27.task2712;
import com.codegym.task.task27.task2712.kitchen.Cook;
import com.codegym.task.task27.task2712.kitchen.Waiter;
import com.codegym.task.task27.task2712.statistics.StatisticsManager;
import java.util.ArrayList;
import java.util.List;
public class Restaurant {
private static final int ORDER_CREATION_INTERVAL = 100;
public static void main(String[] args) {
Cook cook = new Cook("Amigo");
Cook cook2 = new Cook("Lynne");
Waiter waiter = new Waiter();
List<Tablet> tablets = new ArrayList<>();
cook.addObserver(waiter);
cook2.addObserver(waiter);
StatisticsManager.getInstance().register(cook);
StatisticsManager.getInstance().register(cook2);
OrderManager orderManager = new OrderManager();
for (int i = 1; i <= 5; i++) {
Tablet tablet = new Tablet(i);
tablet.addObserver(orderManager);
tablet.addObserver(orderManager);
tablets.add(tablet);
}
Thread createOrderThread = new Thread(new RandomOrderGeneratorTask(tablets, ORDER_CREATION_INTERVAL));
createOrderThread.start();
try{
Thread.currentThread().wait(1000);
}catch (Exception ignore){}
createOrderThread.interrupt();
ManagerTablet managerTablet = new ManagerTablet();
}
}