A delivery process simulator using Swing and multithreading to display various riders taking in different orders on the map simultaneously.
Each thread represents an order process, which starts from the preparation of the ordered dish by a chef (a restaurant has a limit of three chefs, therefore queue is implemented to resolve consecutive orders and kitchen availability) up until the successful delivery of the prepared dish by the rider to the customer.