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.
To see behind the scenes at how Disney does this, check out:
https://www.nytimes.com/2010/12/28/business/media/28disney.html
Now we’re 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 ride’s duration)
o When finished, set the “running” state to false
• Inside ThemePark, instantiate five Amusement objects. Assign each Amusement a type,