-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathWaiter.java
More file actions
24 lines (22 loc) · 1.07 KB
/
Waiter.java
File metadata and controls
24 lines (22 loc) · 1.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
public class Waiter implements Runnable {
public boolean continueWorking = true;
@Override
public void run() {
Manager manager = Manager.getInstance();
while (continueWorking || !manager.getDishesQueue().isEmpty()) {
if (!manager.getDishesQueue().isEmpty()) { //относим готовый заказ
Dishes dishes = manager.getDishesQueue().poll();
System.out.println("Официант отнес заказ для стола №" + dishes.getTableNumber());
} else { //берем новый заказ
Table table = manager.getNextTable();
Order order = table.getOrder();
System.out.println("Получен заказ от стола №" + order.getTableNumber());
manager.getOrderQueue().add(order);
}
try {
Thread.sleep(100); //walking to the next table
} catch (InterruptedException e) {
}
}
}
}