/** * The sleeping barber app. * * @author Franck van Breugel */ public class Main { public static void main(String[] args) { // create a waiting room final int CHAIRS = 3; WaitingRoom room = new WaitingRoom(CHAIRS); // create a barber Barber barber = new Barber(room); // create customers final int CUSTOMERS = 5; Customer[] customer = new Customer[CUSTOMERS]; for (int c = 0; c < CUSTOMERS; c++) { customer[c] = new Customer(c, room, barber); } // start the barber barber.start(); // start the customers for (int c = 0; c < CUSTOMERS; c++) { customer[c].start(); } // wait until all customers are done for (int c = 0; c < CUSTOMERS; c++) { try { customer[c].join(); } catch (InterruptedException e) { e.printStackTrace(); } } // stop the barber barber.interrupt(); try { barber.join(); } catch (InterruptedException e) { e.printStackTrace(); } } }