Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

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:

image text in transcribed

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: 40

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Students also viewed these Databases questions

Question

4. Develop a self-directed learning module.

Answered: 1 week ago

Question

2. Provide recommendations for effective on-the-job training.

Answered: 1 week ago