diff --git a/data_structures/6_Queue/Exercise/food_ordering_system.py b/data_structures/6_Queue/Exercise/food_ordering_system.py index 3658a41..653e743 100644 --- a/data_structures/6_Queue/Exercise/food_ordering_system.py +++ b/data_structures/6_Queue/Exercise/food_ordering_system.py @@ -1,8 +1,10 @@ import threading import time +import sys from collections import deque + class Queue: def __init__(self): self.buffer = deque() @@ -11,9 +13,9 @@ def enqueue(self, val): self.buffer.appendleft(val) def dequeue(self): - if len(self.buffer)==0: + if len(self.buffer) == 0: print("Queue is empty") - return + sys.exit() return self.buffer.pop() @@ -23,11 +25,13 @@ def is_empty(self): def size(self): return len(self.buffer) + food_order_queue = Queue() + def place_orders(orders): for order in orders: - print("Placing order for:",order) + print("Placing order for:", order) food_order_queue.enqueue(order) time.sleep(0.5) @@ -36,13 +40,14 @@ def serve_orders(): time.sleep(1) while True: order = food_order_queue.dequeue() - print("Now serving: ",order) + print("Now serving: ", order) time.sleep(2) + if __name__ == '__main__': - orders = ['pizza','samosa','pasta','biryani','burger'] + orders = ['pizza', 'samosa', 'pasta', 'biryani', 'burger'] t1 = threading.Thread(target=place_orders, args=(orders,)) t2 = threading.Thread(target=serve_orders) t1.start() - t2.start() \ No newline at end of file + t2.start()