Question
Java Programming Assignment 7 Theme Parks and Threads Amusement parks are a lot of fun, but everyone agrees the worst part of the experience is
Java Programming Assignment 7 Theme Parks and Threads
Amusement parks are a lot of fun, but everyone agrees the worst part of the experience is waiting. Some companies invest in a lot of clever systems to help manage and control their lines more efficiently.
Now were going to create our own command station that uses threads to activate and track rider movement throughout a bustling amusement park.
Program Requirements:
Create a new class called ThemePark. Inside it, put your main program. This program will manage and monitor all the theme park rides in the park. ThemePark should extend Thread.
Create a new class called Amusement. This class should extend Thread. This class will have the following variables and methods to access them. (Remember to use proper Object-Oriented design in its creation):
o A ride type (e.g., Bumper Cars, Rollercoaster, Carousel)
o A waiting Queue (those waiting in line)
o A ride Queue (those actively riding the ride)
o A maximum capacity (controls how many people can ride)
o A ride duration (how long the ride takes)
o A running Boolean (is the ride running? True/false) initially set to false
Override the run() function inside your Amusement class. This function should do the following:
o Set the running state to true
o Sleep for x seconds (where x is the rides duration)
o When finished, set the running state to false
Inside ThemePark, instantiate five Amusement objects. Assign each Amusement a type, capacity, and duration. Put the capacity at around 2060 riders at one time
o Create a new Queue called attendees. Fill this with unique numbers from 11000
o Start each of the Amusement threads. Have ThemePark check every second on the running status of each Amusement. If an Amusement is not running, first put all of the riders in the Amusements ride Queue into the attendees Queue. Put the maximum number of riders from the rides waiting Queue into the ride Queue. Finally, take a set number of riders from the attendees Queue and place them in the Amusements waiting Queue.
Note: here is a diagram to help you make sense of the flow of riders into the various Queues:
If the user types END, stop all of the threads and place the riders back into the attendees Queue. Then exit the program.
Include appropriate comments throughout your code.
Amusement 1 Waiting Riding Capacity: 30 Attendees Amusement 2 Waiting Riding Capacity: 40 Amusement 1 Waiting Riding Capacity: 30 Attendees Amusement 2 Waiting Riding Capacity: 40Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started